获取FTP目录中的所有文件名 [Python]
今天我遇到了一个大问题,因为我对Python还比较陌生,所以我真的需要寻求帮助。
我已经成功连接到了我的FTP,并且正确登录了。
ftp = ftplib.FTP('ftp.lala.com', 'username', 'pass')
作为第二步,我进入了我想要的目录:
ftp.cwd("dirName")
但是接下来我就卡住了……我现在需要把所有的文件名以字符串/数组/列表等格式获取到,这样我才能使用这些名字。我尝试过使用OS、glob等,但似乎都没有效果。
请问有什么想法吗?我需要获取我想要的目录里的每个文件名,以及该目录内的任何子目录/文件。
我需要把这个
for fileName in glob.glob("*.*"):
self.out(fileName)
改成去到路径ftp.lala.com/myDir/,然后获取所有的文件名(如果myDir里面还有文件夹的话也要获取)。
欢迎任何建议或想法!谢谢!
Yenthe
3 个回答
1
from ftplib import FTP
ftp = FTP("hostname")
ftp.login("username", "password")
ftp.cwd("foldername")
files = ftp.nlst()
print(files)
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得更简单易懂。
3
我用这段代码获取了所有的路径和文件:
import ftplib
server= ftplib.FTP_TLS('YOUR FTP ADRESS','USER','PASSWORD')
print("CONNECTED TO FTP")
files = server.nlst('your FTP folder path')
print(files)
11
这样怎么样:
contents = ftp.retrlines('LIST') # List CWD contents securely.
或者:
try:
files = ftp.nlst()
except ftplib.error_perm, resp:
if str(resp) == "550 No files found":
print("No files in this directory.")
else:
raise
contents
现在是一个包含该目录内项目的列表,你可以调用这些项目。