12、python文件的操作

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

一、打开文件



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

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

参数1:文件名

参数2:打开的模式

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

模式 描述
r 以只读方式打开文件,文件指针默认放在文件开头
rb 以二进制格式打开一个文件用于只读,指针默认放在文件开头,一般用于非文本文件(如图片等)
r+ 以二进制格式打开一个文件用于读写,指针默认放在文件开头
rb+ 打开一个文件用于读写,文件指针默认放在文件开头,一般用于非文本文件(如图片等)
w 打开一个文件只用于写入,如果该文件已存在则将其覆盖,如果不存在,创建新文件
wb 以二进制格式打开一个文件用于只读,如果该文件已存在则将其覆盖,如果不存在,创建新文件,一般用于非文本文件(如图片等)
w+ 打开一个文件用于读写,如果该文件已存在则将其覆盖,如果不存在,创建新文件
wb+ 以二进制格式打开一个文件用于读写,如果该文件已存在则将其覆盖,如果不存在,创建新文件,一般用于非文本文件(如图片等)
a 打开一个文件用于追加,如果文件已存在,文件指针会放在文件结尾(也就是说,新的内容将会被写到已有内容之后)如果不存在,创建新文件进行写入
ab 以二进制格式打开一个文件用于追加,如果文件已存在,文件指针会放在文件结尾(也就是说,新的内容将会被写到已有内容之后)如果不存在,创建新文件进行写入
a+ 打开一个文件用于读写,如果文件已存在,文件指针会放在文件结尾,文件打开时会是追加模式,如果不存在,创建新文件用于读写
ab+ 以二进制格式打开一个文件用于追加,如果文件已存在,文件指针会放在文件结尾,如果不存在,创建新文件用于读写
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)

作者:miki_peng

出处:https://www.cnblogs.com/miki-peng

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,请大家尊重原创,如要转载,请在文章页面明显位置注明出处,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/miki-peng/p/12230327.html

时间: 2024-08-27 11:36:34

12、python文件的操作的相关文章

python文件相关操作

Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中,open()方法进行打开文件等相关操作,open()方法其中第一个参数是要打开的文件的文件路径,第二个参数是对要打开文件要执行的权限,第三个参数是文件采用字符编码. 而open()方法返回的内容叫做文件句柄.我们可以打印返回的文件句柄来看下: f = open('test_file.txt','r

~~Python文件简单操作~~

进击のpython Python文件操作 在说Python的文件操作之前 我们可以先思考一个问题 平时我们是怎么对电脑中的文件进行操作的呢? 打开电脑?找到文件?打开文件?读文件?修改文件?保存文件?关闭文件 对吧,这就是我们打开文件的基本流程 而 Python 打开文件的方式,也是这样的 打开电脑 ? f=open(filename) ? f.read() ? f.write() ? f.close() f = open(filename):打开文件 f.read():读文件 f.write(

Python 文件常见操作

[python] view plain copy print? # -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() 去掉文件名, 返回目录路径 join() 将分离的各部分组合成一个路径名 split() 返回 (dirname(), basename()) 元组 splitdrive() 返回 (drivename, pathname) 元组 sp

python文件的操作

首先看看在pycharm输入文件句柄,怎样显示他的定义 f = open('student_msg', encoding='utf-8', mode='a+') # 打开一个文件,赋值给f print(type(f), f) # f文件句柄是属于一个类叫<class '_io.TextIOWrapper'>,也是可迭代对象.(io ---> input and out) print(dir(f)) # 打印这个类的所有属性和方法 >>['_CHUNK_SIZE', 'clas

python 文件读写操作

读open打开文件后一定要记得调用文件对象的close()方法,用try/finally语句来确保最后能关闭文件不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法file_name = open('test.file')读取所有内容file_object = open('thefile.txt')try:all_the_text = file_object.read( )finally:file_object.close( )读固

python文件读写操作与linux shell变量命令交互执行

python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! 1 #coding=utf-8 2 #!/usr/bin/python 3 import os 4 import time 5 #python执行linux命令 6 os.system(':>./aa.py') 7 #人机交互输入 8 S = raw_input("input:") 9 os.environ['S']=str(S) 10 #把字符串S写入文件 11 outpu

python 文件常用操作

1.打开文件 open()打开文件并返回文件对象,参数很多,一般用前两个,open(file,mode).file可以是文件名或者文件目录下的文件名,mode为打开的方式,可以是只读.写入.追加写入.可读可写等等. 打开某个文件,需要知道该文件的目录,或者该文件就在当前的工作目录下. (1)包含目录的文件名(不修改当前工作目录) >>> f=open('E:/python/record.txt') #或者f=open(r'E:\python\record.txt') #或者f=open(

python文件读写操作

代码: [email protected]:/study/python# cat write.py #!/usr/bin/python output_file = open("test.txt","w") output_file.write("write test\n") output_file.close() output_file = open("test.txt","a") output_file.w

python 文件综合操作

"' 目的:综合文件操作相关属性设计示例 示例说明:本示例主要目的是将给定目录下所有满足条件的文件进行压缩,并且以当前时间为名称,如果已经存在,则继续压缩到之前目录,如果不存在,则以当前时间为名称 作者:琦琦爸爸 '" #coding:utf-8 import datetime import os import zipfile #按现在时间为压缩文件取名 def make_name(): #获取当前时间,包括年月日时分秒 i=str(datatime.datatime.now()) #