0

我是 Python 新手,这周我实际上在上一个短期课程,但我有一个非常具体的要求,我现在不知道如何处理:我在一个文件夹中有许多不同的 txt 文件,当我使用以下代码时,我只收到许多文件中的两个的文件名,这是为什么呢?问候!

import dircache
lista = dircache.listdir('C:\FDF')
i = 0
check = len(lista[0])
temp = []
count = len(lista)
while count != 0:
if len(lista[i]) != check:
    temp.append(lista[i- 1])
    check = len(lista[i])
else:
    i = i + 1
count = count - 1
print (temp)
4

2 回答 2

1

也许你可以使用 glob 库:http ://docs.python.org/2/library/glob.html

似乎它可以像 UNIX 一样用于列出文件,所以它可以使用它吗?

import glob

directory = 'yourdirectory/'
filelist = glob.glob(directory+'*.txt')
于 2013-08-01T17:32:56.070 回答
0

如果我的理解正确,您想获取所有文件吗?

在这种情况下试试:

import os

filesList = None
dir = 'C:\FDF'
for root, dirs, files in os.walk(dir):
    filesList = files
    break
print(filesList)

如果需要完整路径使用:

import os.path

filesList = None
dir = 'C:\FDF'
for root, dirs, files in os.walk(dir):
    for file in files:
        filesList.append(os.path.join(root, file))
print(filesList)
于 2013-08-01T16:41:43.170 回答