python(15)——打开文件、操作文件、关闭文件

# 1、打开文件

# 创建一个变量来保存文件的名字,首先需要知道文件的路径
# 文件的路径问题:
# (1)如果目标文件和当前文件在同一级目录下,则直接使用文件名即可
file_name1 = 'demo.txt'
# (2)不在同级目录表示路径,可以使用..来返回一级目录
file_name2 = r'..\hello\demo.txt' # r表示原始字符串
# (3)目标较远,使用绝对路径
file_name3 = r"C:\Users\Administrator\Desktop\A Brief History Of Time.txt"

# 使用open函数来打开一个文件
# 参数:
#   file 要打开的文件的名字(路径)
# 返回值:
#   返回一个对象,这个对象就代表了当前打开的文件
# —— open()打开的文件可以分成两种类型:
# —— 一种是纯文本文件(使用utf-8编码编写的文件)
# —— 一种是二进制文件(图片、PPT、MP3等),'rb'
# —— open()打开文件时,默认以文本文件形式打开,默认编码为:None
# —— 所以处理文本文件,必须指定文件的编码

file_obj1 = open(file_name1) # file_obj1用来接收返回的对象

# 2、操作文件
# -获取文件对象后,对于文件的操作都是通过对象来进行

# (1)读取文件内容
# -read()方法,用于读取文件内容
content = file_obj1.read()
print(content)
# ======================================
# today is sunday!
# ======================================

# (2)读取大文件
try:
	with open(file_name3,encoding='utf-8') as file_obj3:
		# 定义一个变量来保存文件内容
		file_content3 = ''
		# 定义一个变量,来指定每次读取的大小
		chunk = 100
		# 创建一个循环来读取文件内容
		while True:
			content3 = file_obj3.read(chunk)
			# 检查是否读完,读完则停止
			if not content3:
				break
			# 存储读取的内容			
			file_content3 = file_content3+content3

except FileNotFoundError:
	printf(f'{file_name3}这个文件不存在!')

print(file_content3)
# ======================================
# ——《时间简史》是英国物理学家斯蒂芬·威廉·霍金创作的科普著作,首次出版于1988年。
# ——全书共十二章,讲述了关于宇宙本性的最前沿知识,包括:我们的宇宙图像、空间和时间、膨胀的宇宙、不确定性原理、黑洞、宇宙的起源和命运等内容,深入浅出地介绍了遥远星系、黑洞、粒子、反物质等知识,并对宇宙的起源、空间和时间以及相对论等古老命题进行了阐述。 [1]
# ——在该书里,霍金探究了已有宇宙理论中存在的未解决的冲突,并指出了把量子力学、热动力学和广义相对论统一起来存在的问题,该书的定位是让那些对宇宙学有兴趣的普通读者了解他的理论和其中的数学原理。 [2]
# ——该书自1988年首版以来,已被翻译成40种文字,累计销售量突破2500万册,成为一本畅销全世界的科学著作。 [1]
# ======================================

# (3)写入文件
# write()用来向文件中写入内容
# 使用open()打开文件时必须要指定打开文件所要做的操作(读、写、追加)
# 如果不指定操作类型,则默认是 读取文件 , 而读取文件时是不能向文件中写入的
# r 表示只读的
# w 表示是可写的,使用w来写入文件时,如果文件不存在会创建文件,如果文件存在则会截断文件
#   截断文件指删除原来文件中的所有内容
# a 表示追加内容,如果文件不存在会创建文件,如果文件存在则会向文件中追加内容
# x 用来新建文件,如果文件不存在则创建,存在则报错
# + 为操作符增加功能
#   r+ 即可读又可写,文件不存在会报错
#   w+
#   a+
with open(file_name1,'a',encoding='utf-8') as file_obj1:
	file_obj1.write('It is a good day!')


# 3、关闭文件
# -(1)调用close()方法来关闭文件
file_obj1.close()

# -(2)调用with ... as 语句,文件的读取、关闭都在此函数中进行
with open(file_name1) as file_obj1:
	content1 = file_obj1.read()
	print(content1)
# ======================================
# Today is sunday!It is a good day!
# ======================================

with open(file_name2,encoding='utf-8') as file_obj2: #读取中文
	content2 = file_obj2.read()
	print(content2)
# ======================================
# 今天是周日!
# ======================================

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 中,我们可以使用内置的 `open()` 函数来打开一个文件,然后使用文件对象进行读写操作。下面是一个简单的例子: ## 写入文件 ```python # 打开文件(如果文件不存在则创建) file = open("example.txt", "w") # 写入内容 file.write("Hello, World!\n") file.write("This is an example file.\n") # 关闭文件 file.close() ``` 在上面的代码中,我们使用 `open()` 函数打开一个名为 `example.txt` 的文件,并指定模式为 `"w"`,表示写入模式。如果文件不存在,则会创建一个新的文件。然后,我们使用 `write()` 方法写入两行文本内容,并在每行的末尾添加了一个换行符。最后,我们使用 `close()` 方法关闭文件。 ## 读取文件 ```python # 打开文件 file = open("example.txt", "r") # 读取内容 content = file.read() # 关闭文件 file.close() # 输出内容 print(content) ``` 在上面的代码中,我们再次使用 `open()` 函数打开 `example.txt` 文件,并指定模式为 `"r"`,表示读取模式。然后,我们使用 `read()` 方法读取文件的所有内容,并将结果保存到 `content` 变量中。最后,我们使用 `print()` 函数输出 `content` 变量的值。 需要注意的是,在读取文件时,我们需要确保文件已经存在,否则会抛出 `FileNotFoundError` 异常。此外,在读取大文件时,我们可以使用 `readline()` 或 `readlines()` 方法逐行读取文件的内容,而不是一次性读取整个文件

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值