python学习(1)txt文件读写

常用的python读写模式

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

猜你喜欢

转载自blog.csdn.net/liying15/article/details/86423733