python输出数据如何用空格空开、每行行末包含换行符_初学Python-文件和异常

为了提高程序的运行效率,在程序运行的时候,需要从文件中读取数据,在运行结束之后需要将结果输出到文件中,这个过程中程序需要进行文件操作。在程序运行的过程中可能由于某些原因导致崩溃,当程序面临这些崩溃时如何操作,就是程序的异常处理。通过异常处理可以降低突发状况的危害,提高程序的可用性和稳定性。

文件

读取整个文件

with open(“test.txt”) as file_object:

contents = file_object.read()

print(contents)

1.open传递文件的名称,程序会在程序源文件所在的目录去查找test.txt文件

2.关键字with在不需要访问文件后将其关闭,你只管打开文件,并在需要时访问它,Python会在合适的时候自动将其关闭。

3.read()到达文件末尾时返回一个空字符串,而将这个空字符串显示出来就是一个空行。要删除末尾的空行,可在打印时使用rstrip()

路径

在open() 中即可传递文件的相对路径也可以传递文件的绝对路径,但有一点需要注意:

Linux和OS X路径中使用斜杠( / )

Window系统中路径使用反斜杠( \ )

另外由于反斜杠在Python中被视为转义标记,为在Windows中万无一失,应以原始字符串的方式指定路径,即在开头的单引号前加上r

逐行读取

filename = “test.txt”

with open(filename) as file_object:

for line in file_object:

print(line.rstrip())

每一行的结尾都有一个看不见的换行符,打印出来会出现空开,通过rstrip()消除空白。

创建一个包含文件各行内容的列表:

filename = “test.txt”

with open(filename) as file_object:

lines = file_object.readlines()

for line in lines:

print(line.rstrip())

写入文件

filename = “test.txt”

with open(filename, ‘w’) as file_object:

file_object.write(“I Love Python”)

open中传递两个参数第一个为文件名称,第二个为文件的打开模式:

w:写入模式

r:读取模式

a:附加模式

r+:读写模式

如果省略了模式参数,程序默认以只读模式打开文件。如果你要写入的文件不存在,函数open()将会自动创建它,然而以写入模式w模式打开文件时要格外小心,因为如果指定的文件已经存在,python会在返回文件对象前清空该文件。

写入多行

filename = “test.txt”

with open(filename, 'w') as file_object:

file_object.write(“I love python”)

file_object.write(“I love create new things”)

异常

使用try-except-else代码块处理异常

while True:

first_number = input(“\nFirst number:”)

if first_number == ‘q’:

break

second_number = input(“\n Second number:”)

try:

answer = int(first_number) / int(second_number)

except ZeroDivisionError:

print(“You can’t divide by zero”)

else:

print(answer)

处理FileNotFoundError异常

filename = “alice.txt”

try:

with open(filename) as f_obj:

contents = f_obj.read()

except FileNotFoundError:

#异常可使用pass语句表示异常时不做任何处理

msg = “Sorry the File” + filename + “does not exist”

print(msg)

else:

#计算文件中包含多少个单词

words = contents.split()

num_words = len(words)

print(“The file has” + str(num_words) + “words”)

读写json

模块json让开发者将简单的Python数据结构转存到文件中,并在程序再次运行时加载该文件中的数据。还可以使用json在程序之间分享数据。

写列表

import json

numbers = [2, 3, 5, 7, 9]

filename = “number.json”

with open(filename, ‘w’) as f_obj:

json.dump(numbers, f_obj)

读列表

import json

filename = “number.json”

with open(filename) as f_obj:

numbers = json.load(f_obj)

print(numbers)

注:Python中返回空用None

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值