最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python操作文件方法

来源:动视网 责编:小采 时间:2020-11-27 14:22:32
文档

python操作文件方法

python操作文件方法:本文主要和大家介绍了python操作文件,以及简单的复制备份. 希望能帮助到大家。1.open函数 python中一切皆对象,所以正常我们打开一个文件的过程是 1.选中文件-打开文件-编辑,复制,删除等操作-关闭文件 放到python中用代码实现就是: f = open(fil
推荐度:
导读python操作文件方法:本文主要和大家介绍了python操作文件,以及简单的复制备份. 希望能帮助到大家。1.open函数 python中一切皆对象,所以正常我们打开一个文件的过程是 1.选中文件-打开文件-编辑,复制,删除等操作-关闭文件 放到python中用代码实现就是: f = open(fil


本文主要和大家介绍了python操作文件,以及简单的复制备份. 希望能帮助到大家。

1.open函数
python中一切皆对象,所以正常我们打开一个文件的过程是
1.选中文件-打开文件-编辑,复制,删除等操作-关闭文件
放到python中用代码实现就是:
f = open(file, mode=’r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True):
f.close()
其中file是文件的绝对路径加文件名,mode是文件读取方式,默认为r即只读方式,后面的选填
mode在源码的解释为

‘r’ open for reading (default) 
‘w’ open for writing, truncating the file first 
‘x’ create a new file and open it for writing 
‘a’ open for writing, appending to the end of the file if it exists 
‘b’ binary mode 
‘t’ text mode (default) 
‘+’ open a disk file for updating (reading and writing) 
‘U’ universal newline mode (deprecated)

建议大家看源码:翻译过来就是:
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
这里我们每次打开file都要调用f.close方法比较麻烦也容易忘,这里用with优化一下:
with open(“E:githubprojectSource-codeasisfile est.txt”, mode=’r’) as f:
pass
这里f就相当于打开了文件,但是此时并没有读取文件,即没有把文件放到内存中,f有很多内置方法,比较常用的是f.write()
这里我们使用fwrite来实现文件的复制:
with open(“E:githubprojectSource-codeasisfile est.txt”, mode=’r’) as f:
contents = f.read()
with open(“E:githubprojectSource-codeasisfile est_bak.txt”, mode=’w’) as f_bak:
f_bak.write(contents)
但是这个方法每次都要写,所以我们用个函数把文件名封装进进去.
def cp(path):
with open(path, ‘r’) as f:
data = f.read()
filename = path[0:path.rindex(“.”)] # 通过rindex方法取得.之前的字符串(即文件名)
ext = path[path.rindex(“.”):] # 通过rindex方法取得.之后的字符串(即文件后缀)
with open(“%s_bak%s” % (filename, ext), ‘w’) as f_bak: # 新建文件名_bak的文件打开并操作
f_bak.write(data)

path = “E:githubprojectSource-codeasisfile est.txt”
path = path.replace(“”, “/”) # 将字符串中含的转换为/,避免出现特殊字符转换错误的问题

path = ‘/’.join(path.split(‘’)) #与上方法类似,但是还无法转换特殊字符…

cp(path)
目前还没解决windows中文件名加路径组合成了特殊字符的问题
我们调用read方法的时候会将文件写入内存,但是如果我们要复制一个很大的文件,比如有10个G的时候怎么办呢,
python文件操作有个指针的说法,即当我们read到某处的时候,指针就会指到read的地方,当我们read()的时候,文件就指向了末尾,当read(100),指针即指向100,下次read再从此处读取,f.seek(0, 0)即将指针回到初始位置,我们可以利用指针来多次读取实现大文件的复制:

def cp(path): 
 filename = path[0:path.rindex(“.”)] # 通过rindex方法取得.之前的字符串(即文件名) 
 ext = path[path.rindex(“.”):] # 通过rindex方法取得.之后的字符串(即文件后缀) 
 with open(path, ‘r’) as f, open(“%s_bak%s” % (filename, ext), ‘a’) as f_bak: 
 while True: 
 data = f.read(1024) 
 print(data) 
 f_bak.write(data) 
 if len(data) == 0: 
 break
path = “E:githubprojectSource-codeasisfile	est.txt” path = path.replace(“”, “/”) # 将字符串中含的转换为/,避免出现特殊字符转换错误的问题

path = ‘/’.join(path.split(‘’)) #与上方法类似,但是还无法转换特殊字符…

cp(path)

这篇文章主要介绍了python操作文件,以及简单的复制备份.
1.open函数
python中一切皆对象,所以正常我们打开一个文件的过程是
1.选中文件-打开文件-编辑,复制,删除等操作-关闭文件
放到python中用代码实现就是:
f = open(file, mode=’r’, buffering=None, encoding=None, errors=None, newline=None, closefd=True):
f.close()
其中file是文件的绝对路径加文件名,mode是文件读取方式,默认为r即只读方式,后面的选填
mode在源码的解释为

‘r’ open for reading (default) 
‘w’ open for writing, truncating the file first 
‘x’ create a new file and open it for writing 
‘a’ open for writing, appending to the end of the file if it exists 
‘b’ binary mode 
‘t’ text mode (default) 
‘+’ open a disk file for updating (reading and writing) 
‘U’ universal newline mode (deprecated)

建议大家看源码:翻译过来就是:
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
这里我们每次打开file都要调用f.close方法比较麻烦也容易忘,这里用with优化一下:
with open(“E:githubprojectSource-codeasisfile est.txt”, mode=’r’) as f:
pass
这里f就相当于打开了文件,但是此时并没有读取文件,即没有把文件放到内存中,f有很多内置方法,比较常用的是f.write()
这里我们使用fwrite来实现文件的复制:

with open(“E:githubprojectSource-codeasisfile	est.txt”, mode=’r’) as f: 
 contents = f.read() 
 with open(“E:githubprojectSource-codeasisfile	est_bak.txt”, mode=’w’) as f_bak: 
 f_bak.write(contents) 但是这个方法每次都要写,所以我们用个函数把文件名封装进进去. def cp(path): 
 with open(path, ‘r’) as f: 
 data = f.read() 
 filename = path[0:path.rindex(“.”)] # 通过rindex方法取得.之前的字符串(即文件名) 
 ext = path[path.rindex(“.”):] # 通过rindex方法取得.之后的字符串(即文件后缀) 
 with open(“%s_bak%s” % (filename, ext), ‘w’) as f_bak: # 新建文件名_bak的文件打开并操作 
 f_bak.write(data)
path = “E:githubprojectSource-codeasisfile	est.txt” path = path.replace(“”, “/”) # 将字符串中含的转换为/,避免出现特殊字符转换错误的问题

path = ‘/’.join(path.split(‘’)) #与上方法类似,但是还无法转换特殊字符…

cp(path)
目前还没解决windows中文件名加路径组合成了特殊字符的问题
我们调用read方法的时候会将文件写入内存,但是如果我们要复制一个很大的文件,比如有10个G的时候怎么办呢,
python文件操作有个指针的说法,即当我们read到某处的时候,指针就会指到read的地方,当我们read()的时候,文件就指向了末尾,当read(100),指针即指向100,下次read再从此处读取,f.seek(0, 0)即将指针回到初始位置,我们可以利用指针来多次读取实现大文件的复制:

def cp(path): 
 filename = path[0:path.rindex(“.”)] # 通过rindex方法取得.之前的字符串(即文件名) 
 ext = path[path.rindex(“.”):] # 通过rindex方法取得.之后的字符串(即文件后缀) 
 with open(path, ‘r’) as f, open(“%s_bak%s” % (filename, ext), ‘a’) as f_bak: 
 while True: 
 data = f.read(1024) 
 print(data) 
 f_bak.write(data) 
 if len(data) == 0: 
 break
path = “E:githubprojectSource-codeasisfile	est.txt” path = path.replace(“”, “/”) # 将字符串中含的转换为/,避免出现特殊字符转换错误的问题

path = ‘/’.join(path.split(‘’)) #与上方法类似,但是还无法转换特殊字符…

cp(path)

文档

python操作文件方法

python操作文件方法:本文主要和大家介绍了python操作文件,以及简单的复制备份. 希望能帮助到大家。1.open函数 python中一切皆对象,所以正常我们打开一个文件的过程是 1.选中文件-打开文件-编辑,复制,删除等操作-关闭文件 放到python中用代码实现就是: f = open(fil
推荐度:
标签: 文件 操作 方法
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top