【进阶04】【自学笔记】Python中文件操作详解

1.打开文件--open()方法

 举例:

fo = open(r"F:/pyqt/lx01/dict_test.txt", "w")
print ("访问模式 : ", fo.mode)#返回被打开文件的访问模式。
print ("文件名: ", fo.name)#返回文件的名称。
print ("是否已关闭 : ", fo.closed)#返回true如果文件已被关闭,否则返回false。

返回结果:

访问模式 : w
文件名: F:/pyqt/lx01/dict_test.txt
是否已关闭 : False

说明:

【进阶04】【自学笔记】Python中文件操作详解

 

 这些文件打开模式,你不必死记硬背,最常用的有r, w, a+ ,记住这几个就可以了。

2.读文件内容

2.1读文件--read()方法
fo = open(r"F:/pyqt/lx01/dict_test.txt", "r+", encoding='utf8')
str = fo.read(2)
print ("读取的字符串是 : ", str)
# 关闭打开的文件
fo.close()

  2.2 readlines 以列表的形式返回文件里的所有数据,文件有多少行,列表里就有多少个字符串,没一行的换行符也会被读取

f=open(r"F:/pyqt/lx01/dict_test.txt","r", encoding='utf8')
lines =f.readlines()
print(lines) 

 返回结果:

['测试好的呀\n', '学生\n', '老师\n', '体育生\n', '汽车\n', '卡车\n', '飞机']

 2.3 readline  readline一次只读取一行,如果文件特别大,readlines会一次性把数据读取到内存中,这样会非常耗费内存,而readline就不存在这样的问题,但由于一次只读取一行,所以,想要读取全部数据需要使用while循环

f=open(r"F:/pyqt/lx01/dict_test.txt","r", encoding='utf8')
lines =f.readline()
while lines:
    print(lines)
    lines = f.readline()

3.写文件--write()方法

write()方法可将任何字符串写入一个打开的文件。需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字。

write()方法不会在字符串的结尾添加换行符('\n'):

f=open(r"F:/pyqt/lx01/dict_test.txt","a+", encoding='utf8')
f.write("\n添加1")
f.close()

  

4、关闭文件--close()方法

#文件打开以后一定要关闭,否则就会出现内存泄漏,关闭文件使用close方法
f = open(r"F:/pyqt/lx01/dict_test.txt","a+", encoding='utf8')
for line in f:
    print(line)
f.close()

 

#为了避免忘记close文件,还可以使用with语法,该语法可以保证在with语句块退出时可以自动关闭文件

with open(r"F:/pyqt/lx01/dict_test.txt","a+", encoding='utf8') as f:
    for line in f:
        print(line)

  

5、重命名文件--rename()方法

Python的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件。要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能。

import os
os.rename(r"F:/pyqt/lx01/dict_test.txt","F:/pyqt/lx01/dict_test1.txt")

6.删除文件--remove()方法

import os
os.remove("F:/pyqt/lx01/dict_test1.txt")

  

 

 

 

 



上一篇:【python】PyQt自学的一个demo


下一篇:AGC-002E Candy Piles 画图博弈转化