12python文件的操作

Posted miki的测试笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12python文件的操作相关的知识,希望对你有一定的参考价值。

 

前言:本文主要介绍python中文件的操作,包括打开文件、读取文件、写入文件、关闭文件以及上下文管理器。

 

一、打开文件


Python中open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出一个OSError。

使用语法:open(参数1,参数2,参数3)

参数1:文件名

参数2:打开的模式

参数3:编码方式(encoding = "utf-8")

file = \'test.txt\'   # 文件与当前py文件在同一个目录下
# r防转义,文件与当前py文件不在一个目录下时可以直接使用详细的地址,如果在上一个目录怎么写?思考一下
file2 = r\'D:\\myworkspace\\test\\test.txt\'

file = open(file, \'r\', encoding=\'utf-8\')    # 以读取方式打开文件
print(file.read())     # 读取文件的内容
file.close()  # 打开文件使用完后记得关闭文件

运行结果:

C:\\software\\python\\python.exe D:/myworkspace/test/test.py
这是一个测试用的txt文本

Process finished with exit code 0

 

二、关闭文件


关闭文件:close()方法,在上面打开文件例子中已经举例。

注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法,关闭文件

 

三、写入文件


1.写入单行write

file = open(\'test.txt\', \'w\', encoding=\'utf-8\')    # 以写入方式打开文件
file.write(\'今天是星期四\')
file.close()

运行后查看text.txt文件

2.写入多行writelines

file = open(\'test.txt\', \'w\', encoding=\'utf-8\')    # 以写入方式打开文件
# 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符,注意最后一行不需要加换行符,不然文件最后会有一行空白行
file.writelines([\'今天是星期四\\n\', \'明天是星期五\\n\', \'后天是星期六\'])
file.close()

运行后查看text.txt文件

3.保存文件

file.flush()

 

四、读取文件


1.读取全部内容  read()

file = open(\'test.txt\', \'r\', encoding=\'utf-8\')    # 以写入方式打开文件
res1 = file.read()
print(res1)
file.close()

运行结果:

C:\\software\\python\\python.exe D:/myworkspace/test/test.py
今天是星期四
明天是星期五
后天是星期六

Process finished with exit code 0

2.读取一行  file.readline()

file = open(\'test.txt\', \'r\', encoding=\'utf-8\')    # 以写入方式打开文件
res2 = file.readline()
print(res2)

file.close()

运行结果:

C:\\software\\python\\python.exe D:/myworkspace/test/test.py
今天是星期四


Process finished with exit code 0

3.按行读取所有内容  file.readlines()

file = open(\'test.txt\', \'r\', encoding=\'utf-8\')    # 以写入方式打开文件
res3 = file.readlines()     # 一行保存为一个元素,组成一个列表,每行(除了最后一行)后面会带有一个换行符
print(res3)
file.close()

运行结果:

C:\\software\\python\\python.exe D:/myworkspace/test/test.py
[\'今天是星期四\\n\', \'明天是星期五\\n\', \'后天是星期六\']

Process finished with exit code 0

 

五、文件定位(了解即可)


  •  tell()方法告诉你文件内的当前位置;就是说,文件指针会在上次文字结尾后面,文件指针相当于我们阅读时,鼠标光标
  • seek(offset, from)方法改变当前文件的位置
    • offset:表示要移动的字节数(正数:忘文件结尾方向移动,负数:往文件开始方向移动)
    • from:指定开始移动字节的参考位置,默认为1(0:参考位置为文件开头;1:参考位置为当前所在位置;2:参考位置为文件结尾)
file = open(\'test.txt\', \'r\', encoding=\'utf-8\')
print(file.tell())     # 返回此时光标的位置(查看指针)
file.seek(0))    # 将文件光标移动到起始位置
file.seek(70))    # 将文件光标移动到70的位置

 

六、上下文管理器


 with:(推荐使用)

开启open返回文件句柄对象的上下文管理器(执行完with里的代码语句之后,会自动关闭文件)

with open(file="text.txt", mode="r", encoding="utf-8") as f:
    c = f.read()
    print(c)

以上是关于12python文件的操作的主要内容,如果未能解决你的问题,请参考以下文章

我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?

python常用代码片段总结

学习笔记:python3,代码片段(2017)

常用python日期日志获取内容循环的代码片段

用片段替换时操作栏向下移动

使用 Python 代码片段编写 LaTeX 文档