我正在编写一个 python 脚本来给我一个给定目录中的文件和目录的数量,我得到了不同的结果
对于下面的代码,我得到不正确的输出
#! /usr/bin/python
import os
os.system('clear')
x=raw_input('enter a path ')
y=os.listdir(x)
k=0
m=0
for a in y:
if os.path.isfile(a):
k=k+1
elif os.path.isdir(a):
m=m+1
print ('files are %d' % (k))
print ('dirs are %d' % (m))
当我使用以下代码时,它可以工作
#!/usr/local/bin/python
import os
os.system('clear')
x=os.listdir('.')
m=0
n=0
for a in x:
if os.path.isfile(a):
m=m+1
elif os.path.isdir(a):
n=n+1
print ('%d files and %d directories' % (m,n))
因此,在第一种情况下,当我通过命令行输入目录名称时它不起作用,并且由于某种原因在第二种情况下工作。
谢谢赛义德
[root@##### python]# python ford.py
enter a path /var
0 is the number of files in /var
25 is the number of directories in /var
[root@#### python]# python os2.py
enter a path /var
/var files are 0 dirs are 1
这里 os.py 是我上面问题中的第一个程序,而 ford.py 是第二个