2

我一直在研究一个简单的 python 程序,它可以简单地连接到我的 nas 并清理我的一些文件名。我正在使用 python ftp lib 连接到 nas 并做我的事情。

我只是想知道是否有人有一种检查服务器上的文件实际上是文件还是文件夹的好方法?

这就是我正在使用的:

try:
     ftp.cwd(line) 
     #If we got here then this "line" is a folder
     # Do my folder stuff
     ftp._ftp.cwd('..') #don't forget to go back after it worked
except ftplib.error_perm:
     #An exception! So this means we are dealing with a file
     #So do some file stuff
except:
     #Sometimes you just can't get in the folder for some reason
     falsepos = falsepos + 1

我可以查看目录列表的输出,但这在不同平台上是不一样的,我正在尝试构建一些即使我出于某种原因更换我的 nas 也能继续工作的东西。

我的代码中还有一个小错误。有时它仍然将文件夹视为常规文件...

你的意见?

(我使用的是 Python 2.7)

4

1 回答 1

2

我没有发现平台之间的任何差异。这在哪些平台上不起作用?:

isFile = lambda e: e[0][0] != 'd'
for e in ftp.dir('.'):
  if isFile(e):
    foo(e)
  else:
    bar(e)
于 2012-05-21T19:05:28.210 回答