python - 使用 fileinput 写入文件会产生问题
问题描述
for line in fileinput.FileInput("file.txt", inplace=1):
if "success" in line:
print(line)
当我使用文件输入时,文件'file.txt'没有被释放。我可以看到问题“file.txt”仍在使用中。当我使用正常文件操作执行上述功能时,没有显示任何问题
如何解决文件输入的问题。
我使用了下面的代码片段,但问题再次出现。我猜该文件没有关闭
f = fileinput.input("file.txt", inplace=1)
for line in f:
if "success" in line:
print(line)
f.close()
解决方案
在 Python 2.7 中,您必须显式调用close()
fileinput 实例:
try:
f = fileinput.input("file.txt", inplace=1)
for line in f:
if "success" in line:
print line, end=""
else:
f.close()
从 Python 3.2 开始,FileInput 类可以用作上下文管理器。有关更多信息,请参阅文件输入文档。
with fileinput.input(files=('file.txt'), inplace=1) as f:
for line in f:
if "success" in line:
print(line)
推荐阅读
- ruby-on-rails - 将erb标签添加到rails中的link_to类
- jquery - 无法选中好选择多个下拉列表的复选框?
- c# - 将参数分配给 List
- excel - 如何选择一系列单元格直到特定值
- authentication - 微服务的去中心化身份验证
- python - 如何在 Gurobi 中线性化约束
- python-3.x - Atom 脚本在 Mac 上找不到 Python 3 的路径
- reactjs - 什么时候使用没有依赖的 useEffect?
- .net - TransactionScope 需要在 C# MVC 中启用 DTC
- spring - hibernate回滚错误信息不清楚