没腿的鸟 发表于 2024-10-29 05:41:27

Python开辟基础总结(七)数据库+FTP+字符编码+源码安全_python ftp编码(1)

v搜索公众号:zhulin1028
后台回复:【Python1】【Python2】【Python3】【Python全栈】【爬虫】
免费获取对应资料。

一、数据库的使用

1、数据库中的字段使用的utf8格式编码,但是读取出来却是问号。这个问题的解决可以通过在查询的时候指定编码方式来解决,只要执行sql语句:Query_Execsql(pdb, “SET NAMES ‘utf8’”);
注意,这个必要在连接后马上举行。而且,在其他的操作中,会不停使用这种编码。除非再次更改。
2、fetchone():返回一条记载。fetchall():返回全部的记载。
3、可以使用一个简单的方法获取全部的记载:
cur.execute(sql)
for tel, name, pwd in cur:
print tel, name, pwd
二、FTP****的使用

Python的标准模块ftplib就可以支持FTP。
几个函数:
FTP(host=‘’, user=‘’, passwd=‘’, acct=‘’,               timeout=_GLOBAL_DEFAULT_TIMEOUT):假如参数中有user,则Connect();假如同时也有user,则login()。假如没用这些参数,后要自己调用connect和login。
connect(self, host=‘’, port=0, timeout=-999):假如端口不是标准端口,则要手动调用connect。
login(user = ‘’, passwd = ‘’, acct = ‘’):登陆。
pwd():获得当前的工作路径。
cwd(path):更改当前的工作路径。
dir(path,cb):显示目录中的内容。cb为文件的处置惩罚函数。会传递给retrlines。这个函数可以获取一个目录下的全部的内容。
retrlines(self, cmd, callback = None):下载文本文件。cmd的形式为“RETR FILENAME”,callback是一个函数,要处置惩罚文本文件的每一个行。这里一个问题,假如直接用file的write方法,则会丢失换行符。而又没有writeline函数。
retrbinary(self, cmd, callback, blocksize=8192, rest=None):下载二进制文件,cmd的形式为“RETR FILENAME”,callback是一个函数,要处置惩罚文本文件的每一个块。默认大小事8k,但是可以更改。
storlines(self, cmd, fp, callback=None):上传文本文件。cmd的形式为“STOR FILENAME”。fp是一个文件对象,必须有readline方法。callback:每传送一行,就会调用这个函数。
storbinary(self, cmd, fp, blocksize=8192, callback=None, rest=None): 上传二进制文件。cmd的形式为“STOR FILENAME”。fp是一个文件对象,必须有read(num_bytes)方法。默认大小事8k,但是可以更改。
quit():退出。
三、字符编码的使用

encode是将Unicode转化为str,decode是将字符串转化为Unicode。所以,一个字符串要转化为另一种格式可以:
s = ‘中文’

s.decode(fromcodec).encode(tocodec)
也可以直接使用:s.encode(tocodec)。这个时候,相当于默认调用了decode,而且使用的是默认的编码方式。
四、源码安全


[*]Python代码假如直接发布,可能会袒露源码。
[*]一个方法是利用c扩展Python,来代替焦点模块。
[*]另一个折中的方法就是对源码举行编译,天生pyc或者pyo文件。这些事字节码文件。可能会被反编译。所以,可能必要研究一下Python的pyo天生和加载方式,来天生更安全的Python字节码。网上说可以修改Python源码的opcode。没有研究过。
[*]下令:python -m compileall**。**
[*]也可以在Python中使用:
import compileall

compileall._dir('Lib/', force=True)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Python开辟基础总结(七)数据库+FTP+字符编码+源码安全_python ftp编码(1)