Python的文件操作

时间:2020-08-02 16:14:44   收藏:0   阅读:99
假如利用Python代码写一个很low的软件,去操作文件:

文件操作三部曲:

# 常见报错原因:
UnicodeDecodeError
# 文件存储时与文件打开是编码类型不一致
No such file or directory
# 文件路径或文件名错误。路径分隔符被解释器误认为特殊含义的字符,可以再次转义,或在路径整体前面加上r

文件操作的读:

read():读取文件全部

read(n):按照字符串读取

readline():每次只读取一行,读取出来的每行后面都有一个换行符\n,可以在读取的后面加一个strip()

readlines():返回一个列表,列表里的元素是源文件的每一行,如果文件很大,会占大量内存

# for循环读取:(推荐)
# 文件句柄是一个迭代器,特点就是每次循环只在内存中占一行数据,非常节省内存
# 例:
f1 = open(‘F:\测试.txt‘,mode=‘r‘,encoding=‘utf-8‘)
for content in f1:
    print(content)
f1.close()

文件操作的写:

f = open(‘文件的路径‘,encoding=‘utf-8‘,mode=‘w‘) 
# 未指定路径则为当前路径
f.write(‘写入的内容,只能有这一个参数‘)
f.close()  

文件操作的追加:

文件操作的其他模式:

# 例:
    f = open(‘F:\测试.txt‘,mode=‘r+‘,encoding=‘utf-8‘)
    content = f.read()
    print(content)
    f.write(‘写入的内容‘)
    f.close()

# 注意:操作文件时,要注意光标位置,例如写读操作,写操作完光标会在末尾,所以无法读出写入的内容
    可在read()之前,利用seek(0)将光标移动到首部。

文件操作其他功能:

?

打开文件的另一种方式:

with open(r‘F:\测试.txt‘,mode=‘r‘,encoding=‘utf-8‘) as f1,    open(‘filename‘,mode=‘w‘,encoding=‘utf-8‘) as f2 : 
    f1.read()
    f2.write(‘content‘)

?

文件的修改:

with open(r‘F:\t1.txt‘,encoding=‘utf-8‘) as f1,     open(r‘F:\t2.txt‘,encoding=‘utf-8‘,mode=‘w‘) as f2: # 2、以写的模式创建一个新文件

?

old_content = f1.read()
new_content = old_content.replace(‘葫芦‘,‘丝瓜‘)
f2.write(new_content)
import os  # 需要用到 os 模块

 os.remove(r‘F:\t1.txt‘)
os.rename(r‘F:\t2.txt‘,r‘F:\t1.txt‘)
with open(r‘F:\t1.txt‘,encoding=‘utf-8‘) as f1,    open(r‘F:\t2.txt‘,encoding=‘utf-8‘,mode=‘w‘) as f2:    # 2、以写的模式创建一个新文件
 for line in f1:
        new_line = line.replace(‘丝瓜‘,‘葫芦‘)
        f2.write(new_line)

4、将原文件在内存级别删除。

import os
os.remove(r‘F:\t1.txt‘)

5、将新文件重命名成原文件。

os.rename(r‘F:\t2.txt‘,r‘F:\t1.txt‘)
注意:w模式中,文件句柄若没有关闭,可以多次写入而不会清空上一次写入的内容。

?

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!