在Windows上使用Python获取文件路径错误

在Windows上使用Python获取文件路径错误,python,filepath,Python,Filepath,我想在我的Windows上用Python加载文件路径。 但现在有一个问题: 守则: def Test2(rootDir): f = [] for lists in os.listdir(rootDir): path = os.path.join(rootDir, lists) #print (path) #img = cv2.imread(path,0) #cv2.imshow("image",img)

我想在我的Windows上用Python加载文件路径。 但现在有一个问题: 守则:

def Test2(rootDir):
    f = []
    for lists in os.listdir(rootDir): 
        path = os.path.join(rootDir, lists) 
        #print (path)
        #img = cv2.imread(path,0)
        #cv2.imshow("image",img)
        if os.path.isdir(path): 
            Test2(path)
        if os.path.isfile(path): 
            print (path)
Test2(“D:/111test/picpic”)

其结果是:

D:/111test/picpic\haha1\111.png
结果不是我想要的,因为它包含“/”&“\”。 如何解决这个问题

另一个问题: 我使用Test2成功地获得了文件路径(“D:\111test\picpic”)

现在我想将这些文件路径替换为一个列表,我使用的代码是:

if os.path.isfile(path): 
        print (path)
        f.append(path)
        print(f)
结果是我不想要的:

['D:\\111test\\picpic\\haha1\\111.png', 
 'D:\\111test\\picpic\\haha1\\222.png']
因为列表的文件路径包含双“\”。我该怎么办

我的愿望是:获取文件路径,并将它们正确地放在列表中。 我很欣赏你的方法


我很高兴你的回答

处理Windows路径时,应切换到使用。如果您使用的是Python2,那么它也可以作为一个工具提供

要提供如何使用pathlib库的示例,请执行以下操作:

def Test2(rootDir):
    f = []
    rootDir = pathlib.Path(rootDir)
    for iter_file in rootDir.iterdir(): 
        if iter_file.is_dir(): 
            Test2(iter_file)
        if iter_file.is_file(): 
            print(iter_file)

将您的代码添加为文本而不是图片。请完成。请帮助我。这是因为您将目录分隔符指定为
/
,而它在操作系统(windows)上是\的。尝试调用函数,如
Test2(“D:\\111test\\picpic”)
@shahkalpesh谢谢。此问题已解决。但现在我想将这些文件路径放入列表中。我使用此代码:f.append(path)print(f),结果是:['D:\\111test\\picpic\\haha1\\111.png',D:\\111test picpicpic haha1\\222.png']。如何解决此问题?
['D:\\111test\\picpicpic\\hahaa1\\111.png','D:\\111test\\picpicpic\\hahaa1\\222.png']有什么问题?
?请在原始帖子中详细说明额外的问题,包括你希望得到的结果
def Test2(rootDir):
    f = []
    rootDir = pathlib.Path(rootDir)
    for iter_file in rootDir.iterdir(): 
        if iter_file.is_dir(): 
            Test2(iter_file)
        if iter_file.is_file(): 
            print(iter_file)