Python 文件操作

Posted yangdadahome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 文件操作相关的知识,希望对你有一定的参考价值。

1.打开文件:

#!/usr/local/bin/python3.5

filename = "fileop1.file"

fd = open(filename, a, encoding=utf-8)    #模式默认是读模式

‘‘‘
另外一种打开文件方式
with 方式 当with代码块执行完毕时,内部会自动关闭并释放文件资源
‘‘‘
with open(filename, r) as fd:
    ...

 

2.文件打开模式

 默认是只读方式

r            # 以只读方式打开文件(默认)

w            # 以写入的方式打开文件,会覆盖已存在的文件

x            # 如果文件已经存在,使用此模式打开将引发异常

a            # 以写入模式打开,如果文件存在,则在末尾追加写入

b            # 以二进制模式打开文件

t            # 以文本模式打开(默认)

+            # 可读写模式(可添加到其他模式中使用)

U            # 通用换行符支持

r  只读,r+ 读写,不创建 

 

w 新建只写,w+ 新建读写,二者都会将文件内容清零

a,a+  附加方式打开  a:附加写方式打开,不可读;a+: 附加读写方式打开

w+与r+区别:

r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建;

r+与a+区别:

 

r+默认指针位置会覆写之前存在内容

 

不可读的打开方式:w和a

 

若不存在会创建新文件的打开方式:a,a+,w,w+

 

 

3.文件读写操作

 fd.read()
 fd.write()

 逐行读取:

for line in fd:
    print(line)    #把文件转换成了迭代器,不会让数据一直放在内存里,比较安全高效

 操作文件读写指针:

f.tell()        #返回指针的位置
f.read(n)       #读n个,指针也移动多少
f.seek()        #0 返回文件初始

4.flush方法

f.flush()    #强制刷新到硬盘
#进度条方法:
import sys,time
for i in range(10):
    sys.stdout.write("#")
    sys.stdout.flush()
    time.sleep(0.1)

5.truncate方法

f.truncate(n)  #从头截断n个字符,其余删掉

 


以上是关于Python 文件操作的主要内容,如果未能解决你的问题,请参考以下文章

学习笔记:python3,代码片段(2017)

常用python日期日志获取内容循环的代码片段

VSCode自定义代码片段——git命令操作一个完整流程

使用 Python 代码片段编写 LaTeX 文档

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程