本文是Python文件处理的学习笔记。
文件的概念
Linux 系统中,一切皆文件。文件,也是一个文件对象。
文件的属性,包括用户,读写,执行权限等。
对文件等操作,包括 open ,read,write等
file.read()
file.readlines() 方法,默认有buffer 缓存。对于内容较多的文本,使用迭代器,按行读取。
file.write()
file.writelines()
Linux 系统中,写文件会有写缓存。写缓存导致写的内容没有及时同步到磁盘上,必需手动调用close() 或者 flush() 方法。
多线程和多进程操作同一个文件,也要注意写缓存同步到问题。
关闭文件
1.将缓存同步到磁盘
2.Linux系统中每个进程打开的文件个数限制,在 /proc/pid/limits/Max open files 显示每个进程最多能打开的文件个数
文件指针
文件的读写,都是操作文件指针。
file.seek() 方法操作文件指针
file.tell() 返回当前的文件指针位置
在 python3 中,如果不使用 binary mode 模式打开文件,使用 seek(-1,1) 或者 seek(-1,2) 会报错
io.UnsupportedOperation: can't do nonzero end-relative seeks
文件对象的属性
file.fileno() 文件描述符,没打开一个文件,++,关闭一个文件 --
file.mode
file.encoding
file.close()
sys.stdin
sys.stdout
sys.stderr
命令行参数 argv
sys.argv
argv 是一个list
文件编码格式
unicode 与 utf-8 编码格式
unicode 一个汉字,2个字节
utf-8 一个汉字 3个字节
codes 模块,创建指定编码格式的文件
os 模块对文件等操作
os.open()
os.read()
os.write()
os.lseek()
os.close()
os.access()
os.listdir()
os.remove()
os.mkdir()
os.path 模块
os.path.exist()
具体方法的用法,查看对应API即可。
网友评论