python中文件操作

文件操作方法

要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。

1.读取这个文件

首先我们创建一个txt文件,里面写上几行数字或者文本信息;

提示:路径的最前面加r来取消字符串里面的反斜杠转义,

由于中文文档是‘gbk’的编码方式,我们需要将‘gbk’转化为utf-8

只要在打开文件的时候encoding一下即可:

>>> with open(r"C:\Users\BBC\Desktop\test.txt",encoding="utf-8") as f:
...     cont = f.read()
...     print(cont)
...
要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。
1.读取这个文件
首先我们创建一个txt文件,里面写上几行数字或者文本信息---test

with 关键字的好处是适当的时间系统会自动关闭文件,所以你只管打开,非常方便。

 2.逐行读取

读取文件时,常常需要检查其中的每一行;你可能要在文件中查找特定的信息,或者要以某种方式修改文件中的文本。

要以每一行的方式检查文件,可对文件对象使用for循环:

>>> file_path = r"C:\Users\BBC\Desktop\test.txt"
>>> with open(file_path,encoding = "utf-8") as f:
...     for line in f:
...             print(line)
...
要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。

1.读取这个文件

首先我们创建一个txt文件,里面写上几行数字或者文本信息---test

我们打印每一行时,发现空白行更多了:

那为什么会出现这些空白行呢?因为在这个文件中,每行的末尾都有一个看不见的换行符,而print语句也会加上一个换行符,因此每行末尾都有两个换行符:一个来自文件,另一个来自print语句。要消除这些多余的空白行,可在print语句中使用rstrip():

>>> with open(file_path,encoding = "utf-8") as f:
...     for line in f:
...             print(line.rstrip())
...
要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。
1.读取这个文件
首先我们创建一个txt文件,里面写上几行数字或者文本信息---test

 3.with代码块外访问文件的方法

使用关键字with时,open()返回的文件对象只在with代码块内可用。如果要在with代码块外访问文件的内容,可在with代码块内将文件的各行存储在一个列表中,并在with代码块外使用该列表:你可以立即处理文件的各个部分,并可推迟到程序后面再处理。

>>> with open(file_path,encoding = "utf-8") as f:
...     lines = f.readlines()
...
>>> for line in lines:
...     print(line)
...
要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。

1.读取这个文件

首先我们创建一个txt文件,里面写上几行数字或者文本信息---test
>>> with open(file_path,encoding = "utf-8") as f:
...     con = f.read()
...
>>> print(con)
要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。
1.读取这个文件
首先我们创建一个txt文件,里面写上几行数字或者文本信息---test
>>> print(lines)
['要使用文本文件中的信息,首先需要将信息读取到内存中。为此你可以一次性读取文件的全部内容,也可以以每次一行的方式逐行读取。\n', '1.读取这个文件\n', '首先我们创建一个txt文件,里面写上几行数字或者文本信息---test']

方法readlines()是从文件中读取每一行,并将其存储在一个列表中。

写入文件

保存数据的最简单方式之一是将其写入到文件中。通过将输出写入文件,即便关闭包含程序输出的终端窗口,这些输出也依然存在:你可以在程序结束运行后查看这些输出,可与别人分享输出文件,还可以编写程序来将这些输出读取到内存中并进行处理。

1.将文本写入文件

在你调用open()时需要提供另外一个实参,告诉python你要写入打开的文件。

>>> file = r"C:\Users\BBC\Desktop\programming.txt"
>>> with open(file,'w') as f:
...     f.write("I love mywife!")
14

这段程序会在我电脑桌面上生成一个txt格式的文件,里面的文字内容是I love mywife!

在这个示例中,调用open()时提供了两个实参。第一个实参生成文件并也是我们要打开的文件的名称;第二个实参(‘w')告诉python,我们要以写入模式打开这个文件。打开文件时,可指定读取模式('r'),写入模式('w'),附加模式('a')或让你能够读取和写入文件的模式('r+').省略时为只读取。附加模式是在原文件的内容后面追加内容。

2.写入多行

函数wirte()不会在你写入的文本末尾添加换行符,因此如果你写入多行时没有指定换行符,文件看起来可能不是你希望的那样,要让每个字符串都单独占一行,需要在write()语句中包含换行符:

>>> file = r"C:\Users\BBC\Desktop\programming.txt"
>>> with open(file,"w") as f:
...     f.write("yes\n")
...     f.write("no\n")
...
4
3
yes
no

 

posted on 2019-09-05 23:59  iBoundary  阅读(437)  评论(0编辑  收藏  举报

导航