文章目录
一、读取文件
1、使用 for 循环读取文件
使用 for 循环可以读取文件 , 每次循环将文件的一行数据赋值给临时变量 , 语法格式如下 :
for 临时变量 in 文件对象:
# 每次循环都将一行数据赋值给临时变量
# 每次对读取的一行数据进行操作
代码示例 :
"""
文件操作 代码示例
"""
file = open("file.txt", "r", encoding="UTF-8")
print(type(file)) # <class '_io.TextIOWrapper'>
print("使用for循环读取文件: ")
for line in file:
print(line)
执行结果 :
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
<class '_io.TextIOWrapper'>
使用for循环读取文件:
Hello World
Tom
Jerry
Process finished with exit code 0
二、关闭文件
1、close 函数
调用 文件对象#close 函数 , 可以关闭文件对象 ;
关闭文件对象 , 可以关闭程序对文件的占用 ;
如果不关闭文件 , 程序一直运行 , 那么该文件就会被程序一直占用 , 其它应用程序或者在本应用中无法正常访问该文件 ;
关闭文件语法 :
文件对象.close()
解除文件占用的两种方式 :
扫描二维码关注公众号,回复:
15371132 查看本文章
- 调用 文件对象#close() 函数 , 解除文件占用 ;
- 杀掉 文件占用的 应用进程 , 也可以解除文件占用 ;
2、代码示例 - 文件被占用
文件占用示例 :
"""
文件操作 代码示例
"""
import time
file = open("file.txt", "r", encoding="UTF-8")
print(type(file)) # <class '_io.TextIOWrapper'>
print("使用for循环读取文件: ")
for line in file:
print(line)
# 休眠 1000 秒
time.sleep(1000)
在上述代码中 , 文件读取操作执行完毕后 , 休眠 1000 秒 , 保持程序不退出 , 此时该文件会被一直占用 , 如果在文件管理器中尝试删除该文件 , 就会报如下错误 ;
3、代码示例 - 关闭文件
代码示例 :
"""
文件操作 代码示例
"""
import time
file = open("file.txt", "r", encoding="UTF-8")
print(type(file)) # <class '_io.TextIOWrapper'>
print("使用for循环读取文件: ")
for line in file:
print(line)
# 关闭文件
file.close()
执行结果 :
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
<class '_io.TextIOWrapper'>
使用for循环读取文件:
Hello World
Tom
Jerry
123
Process finished with exit code 0
三、with open 语法自动处理文件关闭
1、with open 语法
使用 with open 语法 打开文件 , 可以自动进行关闭文件操作 , 避免了由于疏忽大意产生的文件占用的问题 ;
语法说明 :
with open(文件路径, 打开模式) as 文件对象:
在该语句块中借助文件对象操作文件
操作完毕后不需要手动关闭文件
会自动将文件对象关闭
2、代码示例 - with open 语法示例
代码示例 :
"""
文件操作 代码示例
"""
import time
with open("file.txt", "r", encoding="UTF-8") as file:
print("使用for循环读取文件: ")
# 读取文件
for line in file:
print(line)
# 休眠 1000 秒避免程序退出, 用于测试文件是否被占用
time.sleep(1000)
执行结果 :
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
使用for循环读取文件:
Hello World
Tom
Jerry
123
尝试将 file.txt 文件重命名为 file1.txt , 重命名成功 , 说明文件没有被占用 ;