python文件操作与异常处理

文件操作与异常处理

从文件中读取数据

读取整个文件
with open('pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents.rstrip())  #消除空行
文件路径( 相对、绝对 )
file_path = 'E:\my_test\文件.txt'  #绝对路径
with open(file_path) as file_object:
    contents = file_object.read()
    print(contents)
逐行读取文件内容
filename = 'pi_digits.txt'

with open(filename) as file_object:
    for line in file_object:
        print(line.rstrip())  #消除空行
        #空行原因:隐藏的换行符
创建一个包含文件各行内容的列表
filename = 'pi_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()

for line in lines:
    print(line.rstrip())
使用文件内容
filename = 'pi_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()

pi_string = ''
for line in lines:
    pi_string += line.strip()  #复习strip()、rstrip()、lstrip()

print(pi_string)
print(len(pi_string))

注意:读取文本文件时,Python将其中的所有文本都解读为字符串。如果你读取的是数字,并要将其作为数值使用,就必须使用函数**int()**将其转换为整数,或使用函数float()将其转换为浮点数

小应用
filename = 'pi_digits.txt'
with open(filename) as file_object:
    lines = file_object.readlines()

pi_string = ''
for line in lines:
    pi_string += line.strip()

age = input("Enter your age:")
if age in pi_string:
    print("Your age is in the list!")
else:
    print("There is no your name included.")

该段代码由三个模块构成,第一个模块负责文件的连接和定义,第二块是定义使用的字符串,第三块是人机交互模块

写入文件

写入空文件
filename = 'programming.txt'

with open(filename,'w') as file_object:
    file_object.write("I love programming.")

注:

​ 1.打开文件时,可指定读取模式(‘r’)、写入模式(‘w’)、附加模 式(‘a’)或让你能够读取和写入文件的模式(‘r+’)。如果你省 略了模式实参,Python将以默认的只读模式打开文件。

​ 2.Python只能将字符串写入文本文件。要将数值数据存储到文本文 件中,必须先使用函数str()将其转换为字符串格式

写入多行
filename = 'programming.txt'

with open(filename,'w') as file_object:
    file_object.write('I love programming.\n')
    file_object.write('I love creating new games.\n')
附加到文件
filename = 'programming.txt'

with open(filename,'a') as file_object:
    file_object.write('I also love finding meaning in large datasets.\n')
    file_object.write('I love creating apps that can run in browser.\n')

异常

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jyYulGQp-1631461388300)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210911174743325.png)]

使用异常避免崩溃!!!

使用 try-except 代码块
try:
    print(5 / 0)
except ZeroDivisionError:
    print("You can't divide by 0 !")
除法计算器
print("给我两个数,我将它俩相除")
print("输入‘q’退出程序。")

while True:
    first_number = input("\n输入第一个数字:")
    if first_number == 'q':
        break
    second_number = input("\n输入第二个数字:")
    try:
        answer = int(first_number) / int(second_number)
    except ZeroDivisionError:
        print("分母为零无意义!!!")
    else:                #else 代码块
        print(answer)

try-except-else代码块的工作原理大致如下:

​ Python尝试执行try代码块中的代码;只有可能引发异常的代码才需要放在try语句中。有时候,有一些仅在try代码块成功执行时才需要运行的代码;这些代码应放在else代码块中。except代码块告诉Python,如果它尝试运行try代码块中的代码时引发了指定的异常,该怎么办

pass ——失败时一声不吭

JSON——存储数据的利器

  • json dump() 将数据存储到json文件
import json

numbers = [2,3,5,7,11,13]

filename = 'numbers.json'
with open(filename,'w') as f_obj:
    json.dump(numbers,f_obj)
  • json load() 读取json文件中的数据
import json

filename = 'numbers.json'
with open(filename) as f_obj:
    numbers = json.load(f_obj)

print(numbers)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python文件操作异常处理Python编程中非常重要的一部分。文件操作主要包括创建、打开、读取、写入和关闭文件。 首先,创建文件可以使用open()函数,指定文件名和打开模式(如读取模式"r"、写入模式"w"、追加模式"a"等)。例如,要创建一个名为"test.txt"的文件并写入内容,可以使用以下代码: ```python f = open("test.txt", "w") f.write("Hello, world!") f.close() ``` 打开文件后,可以使用read()或readlines()方法读取文件内容。read()方法将整个文件内容作为字符串返回,readlines()方法则将每一行作为一个字符串存储在列表中返回。例如,要读取"test.txt"文件的内容,可以使用以下代码: ```python f = open("test.txt", "r") content = f.read() print(content) f.close() ``` 如果需要向文件中写入内容,可以使用write()方法。例如,要向"test.txt"文件写入一行内容,可以使用以下代码: ```python f = open("test.txt", "a") f.write("This is a new line.") f.close() ``` 最后,使用close()方法关闭文件。关闭文件能够释放系统资源,确保文件操作正确进行。 在文件操作过程中,可能会遇到异常。为了优化程序的健壮性,我们需要使用异常处理机制。常见的文件操作异常有文件不存在、文件无法打开和文件读写错误等。我们可以使用try-except语句来处理这些异常,保证程序不会因为文件操作出错而崩溃。例如,要处理文件打开异常,可以使用以下代码: ```python try: f = open("test.txt", "r") content = f.read() print(content) f.close() except FileNotFoundError: print("File not found!") ``` 以上就是关于Python文件操作异常处理的回答。通过掌握文件的创建、打开、读取、写入和关闭操作,以及使用异常处理机制,我们可以更加灵活地处理文件相关的任务,提高程序的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值