无法使用python在windows中递归遍历目录
我正在尝试使用python在windows中递归地遍历目录无法使用python在windows中递归遍历目录,python,windows,os.walk,Python,Windows,Os.walk,我正在尝试使用python在windows中递归地遍历目录 def create_folder_structure(): for root, dirs, files in os.walk(r'C:\Users\patela28\Desktop\jira'): # print(folder_path) print(dirs) create_folder_structure() 上述代码有效。但不是下面这个 def create_folder_struct
def create_folder_structure():
for root, dirs, files in os.walk(r'C:\Users\patela28\Desktop\jira'):
# print(folder_path)
print(dirs)
create_folder_structure()
上述代码有效。但不是下面这个
def create_folder_structure():
print(folder_path)
for root, dirs, files in os.walk(folder_path):
print(dirs)
create_folder_structure()
我得到以下输出:
C:\Users\patela28\Desktop\unittest>python unittest.py SMC-11883
C:\Users\patela28\Desktop\jira
C:\Users\patela28\Desktop\unittest>
不知道为什么会发生这种情况。试试这个:
import os
def test():
path = 'C:/Users/xxx/Downloads'
for root, dirs, files in os.walk(path):
return dirs
print(test())
那么,您希望看到的输入和输出是什么?在第二场景中,文件夹路径的值是什么?这是windows机器。路径应该包含反斜杠。问题是我从文本文件中读取文件夹_路径值,并且换行符出现在末尾。一旦我删除换行符,它就可以正常工作。感谢w1n5rx的回复。@AhteshamAkhtar,通常Windows上的路径应该使用反斜杠。但是,如果您知道路径将立即被Windows文件系统API(如
FindFirstFile
)使用,则可以使用正斜杠。无论哪种方式,NT运行库都必须将路径转换为NT内核能够理解的形式,例如\??\C:\Users\xxx\Downloads
。在这种情况下,\??\C:
是内核的\??
虚拟DOS设备目录中的一个对象链接。解析链接后的实际路径类似于\Device\HarddiskVolume2\Users\xxx\Downloads
@w1n5rx,您将返回for
循环的第一次迭代。