文件操作

一、字符集

文件打开时,默认使用操作系统的字符集打开,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、网络传输只能是二进制模式

你可能感兴趣的:(文件操作)