我正在尝试计算我文件夹中的文件数(/ Home / python) 因此我制作了一个简短的节目
import os.path
path = '/Home/python'
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])
但它给我一个像这样的错误
Traceback (most recent call last):
File "count_number_of_files_folder.py", line 3, in <module>
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])
OSError: [Errno 2] No such file or directory: '/Home/python'
伙计们,你们可以帮助我制作无错程序。 谢谢
答案 0 :(得分:8)
试试这个
import os.path
path = os.getenv('HOME') + '/python'
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])
这是因为你不在/ home / python中。你实际上在你的主目录是/ home / $ USER / python。如果您执行以下操作,<终端中的,您将看到自己的位置。
cd ~/python && pwd
答案 1 :(得分:3)
对于ubuntu h
,它必须是小写home
,您还需要提供用户名,因此请使用path = "/home/user_name/python"
或os.path.expanduser
。
os.path.expanduser
将返回/home/username/python
:
import os
path = os.path.expanduser("~/python")
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])
答案 2 :(得分:1)
import glob, os
file_count = 0
WorkingPath = os.path.dirname(os.path.abspath(__file__))
for file in glob.glob(os.path.join(WorkingPath, '*.*')):
file_count += 1
只需将源代码粘贴到您计算文件的任何目录中。这只计算文件而不是文件夹。
答案 3 :(得分:1)
我认为这是最简单的方法:
import os
img_folder_path = 'C:/FolderName/FolderName2/IMG/'
dirListing = os.listdir(img_folder_path)
print(len(dirListing))