我使用以下python脚本来检查我的ftp服务器的root
上是否存在文件。
from ftplib import FTP
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'password')
folderName = 'foldername'
if folderName in ftp.nlst() :
print 'YES'
else : print 'NO'
如何修改上述脚本以查看特定文件夹而不是root
目录?
例如,我想查看www
目录中是否存在名为 foo
的文件夹名称。
我的问题goal
是查看文件夹foo
是否存在于www
目录中,如果是,请打印cool
!如果没有,请在www
中创建一个名为foo
的文件夹。
from ftplib import FTP
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'password')
where = 'www'
folderName = 'foldername'
if folderName in ftp.nlst(where) :
print 'YES'
else :
print 'NO'
只需发送您想要查看的目录作为ftp.nlst()
的第一个参数
在汉斯的暗示之后!我在谷歌上搜索了这些命令,我找到了这个链接:http://docs.python.org/2/library/ftplib.html
from ftplib import FTP
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'passwrd')
ftp.cwd('www') # change into 'www' directory
if 'foo' in ftp.nlst() : #check if 'foo' exist inside 'www'
print 'YES'
ftp.cwd('foo') # change into "foo" directory
ftp.retrlines('LIST') #list directory contents
else :
print 'NO'
ftp.mkd('foo') #Create a new directory called foo on the server.
ftp.cwd('foo') # change into 'foo' directory
ftp.retrlines('LIST') #list subdirectory contents
ftp.close() #close connection
ftplib是一个围绕FTP协议的相当薄的包装器。您可以查看 http://en.wikipedia.org/wiki/List_of_FTP_commands 以了解 FTP 命令的作用。
提示:看看CWD,列表,MKD。
对于 LIST,您将需要 ftp.retrlines 并解析它以查看它是否是一个目录。