这是我的代码:
import os
def get_file():
files = os.listdir('F:/Python/PAMC')
print(files)
for file in files:
print(file)
get_file()
如何在python中仅列出目录中的文件夹?
答案 0 :(得分:1)
在Python 3.6中尝试并测试了以下代码
import os
filenames= os.listdir (".") # get all files' and folders' names in the current directory
result = []
for filename in filenames: # loop through all the files and folders
if os.path.isdir(os.path.join(os.path.abspath("."), filename)): # check whether the current object is a folder or not
result.append(filename)
result.sort()
print(result)
#To save Foldes names to a file.
f= open('list.txt','w')
for index,filename in enumerate(result):
f.write("%s. %s \n"%(index,filename))
f.close()
替代方式:
import os
for root, dirs, files in os.walk(r'F:/Python/PAMC'):
print(root)
print(dirs)
print(files)
替代方式
import os
next(os.walk('F:/Python/PAMC'))[1]
答案 1 :(得分:0)
尝试使用os.walk
生成器来获取指定目录中的所有文件夹:
next(os.walk('F:/Python/PAMC'))[1]
答案 2 :(得分:0)
如果您想使用for循环文件夹名称,可以使用以下代码。
#--------*---------*---------*---------*---------*---------*---------*---------*
# Desc: Using 'yield' to get folder names in a directory
#--------*---------*---------*---------*---------*---------*---------*---------*
import os
import sys
def find_folders():
for item in os.listdir():
if os.path.isfile(item):
continue
else:
# # yield folder name
yield item
#--------*---------*---------*---------*---------*---------*---------*---------#
while 1:# M A I N L I N E #
#--------*---------*---------*---------*---------*---------*---------*---------#
# # set directory
os.chdir("C:\\Users\\Mike\\Desktop")
for folder in find_folders():
print (folder)
sys.exit() # END SAMPLE CODE SNIPPET