Python基础(三)——文件操作与异常捕获

七、文件操作

windows 系统中命名规则:文件名最长使用255个字符

1.读取整个txt文件

文件路径

# 相对文件路径
# 针对于当前文件所在路径下xxx\xxx.txt
# 绝对文件路径
# 反斜杠前添加’r‘,显示声明字符串不要转义
f = open(r"C:\Users\86157\Desktop\test.txt", 'r', encoding="UTF-8")
# 双反斜杠
t = open("C:\\Users\\86157\\Desktop\\test.txt", 'r', encoding="UTF-8")
# Linux和Windows系统下都通用正斜杠
e = open("C:/Users/86157/Desktop/test.txt", 'r', encoding="UTF-8")

’r‘:读取模式;

w:写入模式;文件存在会将其清空再写,文件不存在则会自动创建新文件

a:追加模式;文件存在则会追加写入文件后,文件不存在则会创建新文件

r+:读取和写入;

注意读取时文件指针的影响

代码作用
f=open(“address”, ‘mode’,encoding=“UTF-8”)打开文件,encoding默认为UTF-8
文件.read(数字)读取指定数字的文件内容,存入一个字符串变量中
文件.readlines()按行读取整个文件内容,将内容存入一个列表中
文件.readline()调用一次读取一行内容,存入一个字符串变量中
文件.close()关闭文件,解除文件的占用,内置了flush方法
文件.write(内容)将内容写入文件
文件.flush()将缓冲区积攒的内容写入硬盘

for 循环读取文件行:

for line in open("test.txt",'r'):
	print(line)

with open 语法操作结束后自动关闭文件

with open("test.txt",'r') as f:
	print(f.read())
# 方法一
f = open(r"C:\Users\86157\Desktop\test.txt", 'r', encoding="UTF-8")
content = f.read()
count = content.count("你")
print(f"”你“在文件中出现了{count}次")
f.close()

# 方法二
count = 0
d = open(r"C:\Users\86157\Desktop\test.txt", 'r', encoding="UTF-8")
for line in d:
    line = line.strip() # 去除开头和结尾的换行符与空格
    for word in line:
        print(word)
        if word == "你":
            count += 1
print(f"”你“在文件中出现了{count}次")
d.close()
2.写入txt文件

直接调用write,内容攒积在缓冲区,写入多行数据时,该函数不会自动添加换行符。

当调用flush时,内容才真正写入硬盘,能避免频繁写入硬盘,导致效率不高。

如果要将数值型数据写入文本文件,必须先用str()函数将数值转换成字符串格式

八、异常

1.捕获异常
# 1. 捕获常规异常
try:
	# 可能发生错误的语句
except:
	# 出现异常后的操作
    
# 2. 捕获所有异常
try:
    # 可能发生错误的语句
except Exception as e:
    # 出现异常后的操作  
    
# 3. 捕获指定异常
try:
    # 可能发生错误的语句
except (异常类型1,异常类型2,……) as e:
    # 出现异常后的操作
else:
    # 未出现异常后的操作,为可选操作
finally:
    # 不论是否有异常都会执行的操作,比如文件的close,为可选操作
2.异常的传递

异常具有传递性,可在高级层捕获异常

记录学习过程的笔记,欢迎大家一起讨论,会持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值