一、字符集
文件打开时,默认使用操作系统的字符集打开,windows默认的字符集是GBK,但pycharm默认识别的字符集是UTF-8,这样如果打开时不指定UTF-8字符集,会提示字符集错误;
类似于,pycharm只认识UTF-8语言,文件相当于一本书,默认使用GBK语言展示,这样pycharm就不认识了,只有指定文件使用UTF-8语言展示,pycharm才认识;
二、打开文件
1、直接指定地址打开文件并将内容赋值给变量
data=open("e:\\123.txt").read()
2、指定字符集打开并将打开读取的内容赋值给变量
data=open("e:\\123.txt",encoding=("gbk")).read()
3、将打开的文件句柄赋值给变量
f=open("e:\\123.txt",encoding=("gbk"))
4、read方法会一次行将文件内容全部读取出来,并将文件指针指向文件末尾,当再次使用read方法读取这个文件时,因为文件指针指向文件末尾,所以读取的内容为空;
5、文件默认打开方式为只读模式;
6、r 读模式不能写,w 写模式不能读,a 追加模式不能读,r+读追加模式,w+写读模式,a+追加读模式,rb 二进制读模式(网络传输),wb 二进制写模式
7、w模式是创建一个新文件写入,如果文件已存在则会覆盖源文件
f=open("e:\\123.txt",'w',encoding=("gbk"))
8、文件句柄默认使用迭代器模式
for line in f:
print(line)
9、f.tell()查询文件指针当前所在位置,返回字符数;
10、f.seek(字符位置)设置文件指针位置,0为文件起始位置;
11、f.encoding 返回当前文件打开使用的字符集;
12、f.fileno() 返回文件句柄在内存中的编号,操作系统打开的文件的编号,不是内存地址
13、f.seekable 返回文件是否可以设置文件指针位置;
14、f.readable 判断文件是否可读;
15、f.writeable 判断文件是否可写;
16、f.flush() 将写入的数据强制从内存缓存中写到硬盘;
例:模拟进度条
import sys,time
for i in rang(20):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1)
17、f.closed 返回文件是否关闭;
18、f.truncate(字符数) 从指定字符位置往后清空;
19、网络传输只能是二进制模式
网友评论