在Windows上用Python获取文件路径

2024-09-29 23:33:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我的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”)

D:\111test\picpic\haha1\111.png

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

if os.path.isfile(path): 
        print (path)
        f.append(path)
        print(f)

结果是我不想要的:

['D:\\111test\\picpic\\haha1\\111.png', 
 'D:\\111test\\picpic\\haha1\\222.png']

因为列表的文件路径包含双“\”。我该怎么办?你知道吗

我的愿望:得到文件路径,并将其正确放置在列表中。 我很欣赏你的方法!!!你知道吗

我很高兴你的回答!你知道吗


Tags: 文件path代码路径列表imgifpng
1条回答
网友
1楼 · 发布于 2024-09-29 23:33:04

在处理Windows路径时,应该切换到使用pathlib。如果您使用的是python2,那么它也可以作为package使用。你知道吗

给您一个如何使用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)

相关问题 更多 >

    热门问题