用Python处理文件?
我是Python新手,我通过谷歌搜索和阅读一本书来学习。。。我学习了基础知识(我理解它们)我还学习了如何处理文件(但是,我更倾向于记住语法而不是理解它),例如: 要使用函数用Python处理文件?,python,file-io,Python,File Io,我是Python新手,我通过谷歌搜索和阅读一本书来学习。。。我学习了基础知识(我理解它们)我还学习了如何处理文件(但是,我更倾向于记住语法而不是理解它),例如: 要使用函数.walk()循环文件,我们使用了三个变量来循环,但我仍然不明白: for root, dirs, files in os.walk('*dir*', topdown=True): for name in files: filePath=(os.path.join(root, name))
.walk()
循环文件,我们使用了三个变量来循环,但我仍然不明白:
for root, dirs, files in os.walk('*dir*', topdown=True):
for name in files:
filePath=(os.path.join(root, name))
print(filePath)
for name in dirs:
filePath2=(os.path.join(root, name))
print(filePath2)
我真的不明白上面的代码!
为什么要使用这么多的变量?为什么要使用两个循环?为什么要使用
os.path.join
两次?外部循环中返回的变量是包含“当前”目录中的目录和文件的列表。当解析目录树时,这些列表会被迭代,以便您可以看到各个文件和子目录。join函数为每个文件和每个子目录构造路径以供查看
需要记住的一点是,walk函数递归地遍历整个目录树。这稍微简化了一些事情,但可能会让不了解此函数如何工作的人感到困惑,因为递归调用隐藏在walk函数中。我建议您
打印(根、目录、文件)
并找出发生了什么。也可以阅读文档。walk
在遍历文件系统时为我们提供元组root
是我们目前所在的目录,dirs
是root
中的目录列表,files
是root
中的文件列表,这里的所有代码都要通过dirs
和files
并打印出这些文件和目录的完整路径。1)因为运行该代码需要这些文件和目录,2)一个在文件上
另一个在目录上
。3) os.path.join
使用了两次不同的参数(在for
的每次迭代中,名称
都会发生变化)。