您的位置:首页 > 编程语言 > Python开发

python学习(1)txt文件读写

2019-01-13 16:31 453 查看

常用的python读写模式

读取txt文件

  1. 读取txt文件(文件存在)
def read_txt(self, path):
"""读取txt文本"""

with open(path, 'r') as f:
r = f.readlines()
print('输出readlines结果', r)

运行结果为:

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
输出readlines结果 ['这是第一行文字\n', '这是第二行文字\n', '这是第三行文字\n']

Process finished with exit code 0

2. 读取txt文件(文件不存在提示异常FileNotFoundError)

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
Traceback (most recent call last):
File "/Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py", line 14, in <module>
rw.read_txt('/Users/tracy/PycharmProjects/stu/te134324st.txt')
File "/Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py", line 7, in read_txt
with open(path, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/tracy/PycharmProjects/stu/te134324st.txt'

Process finished with exit code 1

读取文件的方式:

read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果文件大于可用内存,为了保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。
readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for … in … 结构进行处理。
readline() 每次只读取一行,通常比readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 readline()。

  1. 读取第一行文字
def read_txt(self, path):
"""读取txt文本"""

with open(path, 'r') as f:
r = f.readline()
print('输出readlines结果', r)

读取结果为:

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
输出readline结果: 这是第一行文字

Process finished with exit code 0

2.读取所有内容

def read_txt(self, path):
"""读取txt文本"""

with open(path, 'r') as f:
r = f.read()
print('输出read结果', r)

运行结果为:

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
输出read结果 这是第一行文字
这是第二行文字
这是第三行文字

Process finished with exit code 0

**

写入txt文件

1. 追加写入

def write_txt(self, path):
"""写入文本"""

with open(path, 'a') as f:
f.write('新写入内容')

运行结果为:

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
输出read结果 这是第一行文字
这是第二行文字
这是第三行文字
新写入内容

Process finished with exit code 0
  1. 覆盖写入
def write_txt(self, path):
"""写入文本"""

with open(path, 'w') as f:
f.write('新写入内容')

运行结果为:

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
输出read结果 新写入内容

Process finished with exit code 0

写入内容的方式
file.write(str)的参数是一个字符串,就是你要写入文件的内容.
file.writelines(sequence)的参数是序列,比如列表,它会迭代帮你写入文件。

写入数组

def write_txt(self, path):
"""写入文本"""

with open(path, 'w') as f:
f.write('新写入内容')
f.writelines(['写入第一行内容', '写入第二行内容', '写入第三行内容'])

运行结果

/Users/tracy/PycharmProjects/stu/venv/bin/python /Users/tracy/PycharmProjects/stu/stu_rw/stu_rtxt.py
输出read结果: 新写入内容写入第一行内容写入第二行内容写入第三行内容

Process finished with exit code 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: