Python文件处理

文章目录

    • 1️⃣基本语法
    • 2️⃣读取文件
      • ⚜️读取整个文件read()
      • ⚜️with 关键词
      • ⚜️逐行读取
    • 3️⃣写入文件
      • ⚜️写入文件write()
      • ⚜️写入数字
      • ⚜️追加内容到文件
    • 4️⃣读取和写入二进制文件

简介

读完本篇你将学会文件的创建、读取、写入等。


1️⃣基本语法

在Python中使用文件的关键函数是open()函数。open()函数有两个参数:文件名(file)模式(mode)

open()函数的基本格式如下⬇️:

file_obj = open(file,mode=“r”)

完整的语法格式为⬇️:

open(file, mode=‘r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

file_obj:文件对象,根据自己的喜好命名。不使用时要及时关闭,使用close()函数,才能返回操作系统的文件管理观察执行结果。

file:文件名。可以是相对路径或绝对路径。

mode:打开文件的模式。默认是:mode='rt'

以下是文件的四种模式:

  • "r":读取。打开文件进行读取,如果不存在则报错。

  • "w":写入。打开文件进行写入,如果文件存在内容会被覆盖。

  • "a":追加。向原有的文件追加内容,如果没有则创建。

  • "x":创建。创建文件,如果文件存在则报错。

以下是两种文件类型:

  • "t":文本模式,默认值。
  • "x":二进制模式(例:图像)



2️⃣读取文件

⚜️读取整个文件read()

read()方法用于读取文件。可以使用size限制读取的字符数。

read()函数的基本格式如下⬇️:

file_obj.read([size])

案例⬇️:

f = open('sse','r')         # sse想要打开的文件名 r 打开模式默认是r,可省略
read_file = f.read(78)     # 将读取的文件保存到变量read_file中 78:限定输出的字符数
f.close()           		# 关闭文件
print(read_file)         		# 输出变量read_file相当于输出文件

执行结果为⬇️:

Python文件处理_第1张图片


⚜️with 关键词

with关键词应用在打开文件建立文件对象时。with最大的优点是不需要使用file_obj.close()关闭文件,with在文件使用结束时,会自动关闭文件。

with基本格式如下⬇️:

with open(file) as file_obj:

      读取代码

案例⬇️:

with open('k') as f:			# 默认读取方式为r,可省略。 不需要使用close关闭文件
    read_file = f.read()
    print(read_file)

执行结果为⬇️:

Python文件处理_第2张图片


⚜️逐行读取

可以使用循环逐行读取文件内容。

逐行读取基本格式如下⬇️:

for i in file_obj :

      输出
案例⬇️:

fn = 'k'
with open(fn) as f:
    for i in f:				# 使用for循环遍历每一行
        print(i)			# 输出

执行结果为⬇️:

Python文件处理_第3张图片

⭐原因:文本文件末尾有换行符,print结尾也有一个换行(end=‘\n’)。

解决办法一:去除字符右边的空格

fn = 'k'
with open(fn) as f:
    for i in f:
        print(i.rstrip())           # 使用rstrip去除字符右边的空格

解决办法二:更换结尾符

fn = 'k'
with open(fn) as f:
    for i in f:
        print(i,end='')             # 使用end=''替换默认的end='\n'



3️⃣写入文件

⚜️写入文件write()

**write()**方法用于写入文件。

write()函数的基本格式如下⬇️:

file_obj.write()

案例⬇️:

string = 'Now study Python.'         # 要写入的字符串

with open('out','w') as f:          # w:写入模式
    f.write(string)          		# write()函数写入字符串

执行结果为⬇️:

请添加图片描述


⚜️写入数字

write()方法不能写入数字,所以要对数字进行转换。

错误示范⬇️:

x = 100

with open('out2','w') as f:
    f.write(x)				# 此处会报错,类型错误。不能输入数字。

Python文件处理_第4张图片

正确代码⬇️:

x = 100

with open('out2','w') as f:
    f.write(str(x))				# 将数字转换为字符串。

执行结果为⬇️:

请添加图片描述


⚜️追加内容到文件

向原有的文件追加内容,如果文件不存在,则创建再填加内容。

案例⬇️:

add = 'I love Python'         		# 要追加的字符串

with open('out','a') as f:          # a:追加模式
    f.write(add)                 	# 向文件out追加内容

执行结果为⬇️:

请添加图片描述




4️⃣读取和写入二进制文件

一般图片、音频文件等都是二进制文件。文件的默认类型是t(文本模式),二进制模式为b。所有读取文件使用’rb’,写入文件使用’wb’。

案例⬇️:

src = 'IronMan.jpg'				# 读取文件名
dst = 'IronMan1.jpg'			# 报存的文件名
tmp = ''						# 保存读取到的二进制

with open(src, 'rb') as f:		
    tmp = f.read()				# 读取 
    with open(dst, 'wb') as w:	
            w.write(tmp)		# 写入

执行结果为⬇️:Python文件处理_第5张图片Python文件处理_第6张图片




你可能感兴趣的:(精通python,python)