Python自动化之文件操作

文件处理

在 Python 中使用文件的关键函数是 open() 函数。
open() 函数有两个参数:文件名和模式。
参数file:传入一个文件名(路径)
参数mode:文件打开的模式

有四种打开文件的不同方法(模式):
(操作文本文件)
“r” - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
“a” - 追加 - 打开供追加的文件,如果不存在则创建该文件。
“w” - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
“x” - 创建 - 创建指定的文件,如果文件存在则返回错误。

(图片、视频文件,读取或写入)
rb:只读,如果文件不存在则报错,二进制打开
wb:打开文件进行写入,如果文件不存在则创建该文件,二进制打开
ab:打开供追加的文件,如果不存在则创建该文件,二进制打开

此外,您可以指定文件是应该作为二进制还是文本模式进行处理。

“t” - 文本 - 默认值。文本模式。
“b” - 二进制 - 二进制模式(例如图像)。

①打开文件
②进行操作(读或写)
③关闭文件
#打开文件的句柄

f = open(file='a.txt', mode='r', encoding='utf-8')
# 读取文件的内容
res = f.read()
print(res)
# 关闭文件
f.close()

注:读出来显示乱码
pycharm>setting>File Encodings 中所有设置为uft-8或者read中设置为gbk

读操作:
read:默认读取文件中所有内容
readline():读取一行内容
readlines():按行读取所有内容,返回列表[a, b]

在这里插入图片描述
实例1:

f = open("demofile.txt", "r")
print(f.read())

在这里插入图片描述
只读取文件的一部分
默认情况下,read() 方法返回整个文本,但您也可以指定要返回的字符数:

实例2:
返回文件中的前五个字符:

f = open("demofile.txt", "r")
print(f.read(5))

在这里插入图片描述
读行
您可以使用 readline() 方法返回一行:

实:3:
读取文件中的一行:

f = open("demofile.txt", "r")
print(f.readline())

在这里插入图片描述
通过两次调用 readline(),您可以读取前两行:

实例4:
读取文件中的两行:

f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())

在这里插入图片描述
通过循环遍历文件中的行,您可以逐行读取整个文件:
实例5:
逐行遍历文件:

f = open("demofile.txt", "r")
for x in f:
  print(x)

在这里插入图片描述
关闭文件
完成后始终关闭文件是一个好习惯。

实例
完成后关闭文件:

f = open("demofile.txt", "r")
print(f.readline())
f.close()

在这里插入图片描述
写操作:
f = open(file=“demofile2.txt”, mode=“a”, encoding=‘utf-8’)
f.write("\n" + “python”)
\n:换行符

实例
打开文件 “demofile2.txt” 并将内容追加到文件中:

f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()

#open and read the file after the appending:
f = open("demofile2.txt", "r")
print(f.read())

在这里插入图片描述
实例
打开文件 “demofile3.txt” 并覆盖内容:

f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()

#open and read the file after the appending:
f = open("demofile3.txt", "r")
print(f.read())

在这里插入图片描述
注释:“w” 方法会覆盖全部内容。

创建新文件
如需在 Python 中创建新文件,请使用 open() 方法,并使用以下参数之一:

“x” - 创建 - 将创建一个文件,如果文件存在则返回错误
“a” - 追加 - 如果指定的文件不存在,将创建一个文件
“w” - 写入 - 如果指定的文件不存在,将创建一个文件

删除文件
如需删除文件,必须导入 OS 模块,并运行其 os.remove() 函数:

实例
删除文件 “demofile.txt”:

import os
os.remove("demofile.txt")

检查文件是否存在
为避免出现错误,您可能需要在尝试删除文件之前检查该文件是否存在:

实例
检查文件是否存在,然后删除它:

import os
if os.path.exists("demofile.txt"):
  os.remove("demofile.txt")
else:
  print("The file does not exist")

删除文件夹
如需删除整个文件夹,请使用 os.rmdir() 方法:

实例
删除文件夹 “myfolder”:

import os
os.rmdir("myfolder")

提示:您只能删除空文件夹。

r:表示转义
如果路径中存在例如\t则无法识别,因为\t表示空格
例如:
r‘C:、python\test.txt’

repr():查看原始格式

print("{'a':11}")
print(repr("{'a':11}"))
print(eval("{'a':11}"))

在这里插入图片描述

with:上下文管理器协议的启动器
打开文件,返回文件的句柄
with open去操作文件会自动关闭文件
实例:

with open(file='log.jpg', mode='rb') as f:
    res = f.read()
    print(res)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值