读取文件:
## 读取整个文件
## 也可使用全路径,比较C:\User\...
with open('pi_digits.txt') 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()) 可消除换行
print(line)
## 创建一个包含文件各行内容的列表
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.rstrip() # rstrip删除每行末尾的换行符
# 删除这些空格,可使用strip()而不是rstrip()
pi_string += line.strip()
print(pi_string)
print(pi_string[:10] + "...") # 提取前10位
print(len(pi_string))
# if srt in pi_string: 检查字符str是否在pi_string中
写入文件:
## 写入文件
filename = 'programming.txt'
with open(filename, 'w') as file_object: # 使用'w'注意会删除原文件的内容
file_object.write("I love programming.")
'''
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")
# 不使用\n会让两字符串挤在一起
## 附加内容到文件
filename = 'programming.txt'
with open(filename, 'a') as file_object: # 使用'a'将内容附加到文件末尾
file_object.write("I also love finding meaning in large datasets.\n")
file_object.write("I love creating apps that can run in a browser.\n")
异常:
## 处理 ZeroDivisionError 异常
try:
print(5/0)
except ZeroDivisionError:
print("You can't divide by zero!")
## 如何使用try-except代码块
print("Give me two numbers, and I'll divide them.")
print("Enter 'q' to quit.")
while True:
first_number = input("\nFirst number: ")
if first_number == 'q':
break
second_number = input("Second number: ")
try:
answer = int(first_number) / int(second_number)
except ZeroDivisionError:
# pass #一个pass语句,可在代码块中使用它来让Python什么都不要做
print("You can't divide by 0!")
else:
print(answer)
## 处理 FileNotFoundError 异常
filename = 'alice.txt'
try:
with open(filename) as f_obj:
contents = f_obj.read()
except FileNotFoundError:
msg = "Sorry, the file " + filename + " does not exist."
print(msg)
存储数据之写入:
import json
filename = 'numbers.json'
with open(filename) as f_obj:
numbers = json.load(f_obj)
print(numbers)
存储数据之读取:
import json
filename = 'numbers.json'
with open(filename) as f_obj:
numbers = json.load(f_obj)
print(numbers)