• 欢迎光临~

python 文件操作 11

开发技术 开发技术 2022-12-26 次浏览

一.文件读取操作

1. 读取整个文件

  在同级目录,创建一个pi_digits.txt文件和file_reader.py文件。

  pi_digits.txt文件中加入内容

  file_reader.py文件内容如下:

with open('pi_digits.txt') as file_object:
    contents=file_object.read()
print(contents)

python 文件操作 11

 

  open()函数打开文件,接收一个参数:要打开的文件的名称,当前运行的是file_reader.py,因此python在file_reader.py所在的目录中查找pi_digits.txt。open()函数返回一个表示文件的对象赋值给file_object。

   with关键字是指:不需需要访问文件后将其关闭。不推荐调用close来关闭文件,因为如果程序存在bug导致方法导致close()未执行,文件将不会关闭,导致数据丢失或受损。

  read()方法读取这个文件的全部内容,并将其作为一个长字符串赋值给变量contents。

 

2. 文件路径 

  上面是同级目录读取文件,如果不在同级目录,那么需要指定相对路径或绝对路径。在python程序中,路径使用斜杠( / )

  当file_reader.py文件与files文件同级时,运行ile_reader.py,读取代码如下

with open('files/pi_digits.txt') as file_object:
    contents=file_object.read()
print(contents)

 

3.逐行读取

  读取文件时,常需要检查其中的每一行 ,可对文件对象使用for循环

with open('files/pi_digits.txt') as file_object:
    for line in file_object:
        print(line)

python 文件操作 11

 

  为什么会出现空白行呢? 因为在这个文件中,每行的末尾都有一个看不见的换行符,而函数调用print()也会加上一个换行符,因此每行末尾都有两个换行符。

  可加上rstrip()去掉空白行

with open('files/pi_digits.txt') as file_object:
    for line in file_object:
        print(line.rstrip())

 

4.读取所有内容到变量中,退出with后在做逻辑

with open('files/pi_digits.txt') as file_object:
    lines=file_object.readlines()

for line in lines:
    print(line.rstrip())

  注意:读取文本文件时,Python将其中的所有文本都解读为字符串。如果读取的是数,并要将其作为数值使用,就必须使用函数int()将其转换为整数或使用函数float()将其转换为浮点数。

 

二.文件写入操作

1.创建文件并写入

filename='files/programming.txt'
with open(filename,'w') as file_object:
    file_object.write('python')

  调用open时提供了两个参数,第二个参数 w  是写入模式,如果省略了第二个参数,默认就是只读模式 r。

  r   读取模式

  w  写入模式 (不存在时,自动创建文件)

  a  追加模式(不存在时,自动创建文件)

  r+  读写模式

   注意: 使用 w 写入模式时一定要小心,如果文件已存在,将会清空文件原有内容。

  write写入,是不换行的。都挤在第一行。如果要换行,可以加n

filename='files/programming.txt'
with open(filename,'w') as file_object:
    file_object.write('pythonn')
    file_object.write('asp.net coren')

 

2.追加内容到文件

filename='files/programming.txt'
with open(filename,'a') as file_object:
    file_object.write('javan')
    file_object.write('phpn')

  使用a 追加模式,将内容添加到文件末尾,如果文件不存在,将自动创建一个文件。

 

  

程序员灯塔
转载请注明原文链接:python 文件操作 11
喜欢 (0)