如何从文件夹中打印文件名?

时间:2019-03-03 17:11:57

标签: python path

我正在尝试打印文件夹目录中所有文件的名称。我有一个名为“ a”的文件夹,并且在该文件夹中有3个NC文件,可以将它们命名为“ b”,“ c”,“ d”,我要打印其目录。我该怎么办?

例如,假设我的文件夹路径为

path=r"C:\\Users\\chz08006\\Documents\\Testing\\a"

我想将目录打印到文件夹“ a”中的所有文件,因此结果应打印:

C:\\Users\\chz08006\\Documents\\Testing\\a\\b.nc
C:\\Users\\chz08006\\Documents\\Testing\\a\\c.nc
C:\\Users\\chz08006\\Documents\\Testing\\a\\d.nc

到目前为止,我已经尝试过

for a in path:
   print(os.path.basename(path))

但这似乎不对。

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找这个:

import os

path = r"C:\\Users\\chz08006\\Documents\\Testing\\a"

for root, dirs, files in os.walk(path):
    for file in files:
        print("{root}\\{file}".format(root=root, file=file))

答案 1 :(得分:0)

您可以使用listdir()在文件夹中列出文件名。

import os
path = "C:\\Users\\chz08006\\Documents\\Testing\\a"
l = os.listdir(path)
for a in l:
   print(path + a)

答案 2 :(得分:0)

您犯了几个错误。您使用的os.path.basename仅返回在最后一个文件分隔符之后的路径末尾表示的文件或文件夹的名称。

相反,使用os.path.abspath获取任何文件的完整路径。

另一个错误是在循环内部使用错误的变量(print(os.path.basename(path)而不是使用变量a

此外,在循环之前,请不要忘记使用os.listdir列出文件夹中的文件。

import os
path = r"C:\Users\chz08006\Documents\Testing\a"
for file in os.listdir(path): #using a better name compared to a
   print(os.path.abspath(file)) #you wrote path here, instead of a. 
   #variable names that do not have a meaning 
   #make these kinds of errors easier to make, 
   #and harder to spot