python - 我将如何通过这个文件元组循环并写入/读取内容?
问题描述
所以我有这个代码来检查某些文件扩展名。当我运行它时,它工作正常,我得到一个包含元组中包含扩展名的所有文件的列表。现在我想循环遍历这个元组并在所有这些文件中写一些东西。我已经尝试了我能想到的一切,但由于某种原因,我不断收到这样的奇怪错误(阅读时):<open file 'core.py', mode 'r' at 0x10b5195d0>.
对不起,我的代码结构和许多循环都很糟糕,我是一个初学者。
import os
extensions = ['docs', 'txt', 'rtf', 'py', 'doc', 'docx']
tree = '.'
for root, dirs, files in os.walk(tree):
for file in files:
if file.endswith(tuple(extensions)):
print(os.path.join(file))
解决方案
尝试这个。我让它只对我不关心的目录中的 .txt 文件进行操作。它会在每个 .txt 文件中粗略地附加一些内容,然后打印每个文件中的所有行。
extensions = ['docs', 'txt', 'rtf', 'py', 'doc', 'docx']
extensions = ['txt']
tree = '.'
for root, dirs, files in os.walk(tree):
for file in files:
if file.endswith(tuple(extensions)):
# print(os.path.join(file))
print(root + os.path.sep + file)
filename = root + os.path.sep + file
with open(filename,'at') as fw:
fw.write('appended line\n')
with open(filename,'r') as fr:
lines = fr.readlines()
for line in lines:
print line
推荐阅读
- c++ - Qt Creator 无法在 Ubuntu 上解析 gvContext
- rest - 非奇异资源下的资源是否仍然是 RESTful?
- git - Gradle 更新 git 子模块
- python - 如何创建时间属性?
- typescript - 泛型函数的Typescript ReturnType
- ssis - 从 XML 读取标签和 SSIS 包中的转换失败
- web-applications - 从网站使用 REST Hyperledger API
- visual-studio-2017 - 如何在 Visual Studio 2017 上创建自己的脚手架?
- linux - 创建一个像普通菜单一样弹出但出现在鼠标位置的浮动菜单
- c++ - 如何使用邻接列表实现 Dijkstras 算法