一个进程可操作的文件描述符的数目是有上限的。
因此对于用完了的文件描述符要及时关闭
f = open('test.txt','r')
f.close()
读文件
方式 | 作用 |
---|---|
read | 读指定长度字节数的数据, 返回一个字符串 |
readline | 读取一行数据, 返回一个字符串 |
readlines | 读取整个文件, 返回一个列表. 列表中的每一项是一个字符串, 代表了一行的内容 |
for line in f | 功能和readline类似,一次只读一行, 相比于readlines 占用内存少 |
eg:
text.txt内容如下:
f = open('test.txt','r')
print(f.readlines())
结果:
可以看出来,readline或者readlines这些函数会保留换行符,所以我们往往需要去掉换行符:
f = open('test.txt','r')
for line in f.readlines():
print(line.strip())
结果:
关于strip方法
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列
eg:
str = "00001230000000"
print(str.strip('0')) # 去除首尾字符 0
str2 = " 123 " # 去除首尾空格
print(str2.strip())
写文件
f = open("test.txt", "w+",encoding='utf-8')
f.write("可以")
s = f.tell() # 返回文件对象当前位置
f.seek(0,0) # 移动文件对象至第一个字符
str = f.read()
print(s,str,len(str))
很有可能出现打开文件忘记关闭。。。
#写
with open('test.txt', 'w', encoding='utf-8') as f:
f.write('test')
#读
with open('test.txt', 'r', encoding='utf-8') as f:
f.readlines()
执行完自动close,避免忘记关闭文件导致资源的浪费
with:上下文管理器