Python 在ftp上列出文件名,前面不带meta
我正在尝试获取ftp目录中的文件名列表。我尝试了以下方法:Python 在ftp上列出文件名,前面不带meta,python,Python,我正在尝试获取ftp目录中的文件名列表。我尝试了以下方法: import ftplib from os import listdir from os.path import isfile, join class FtpObj: def __init__(self, host, user, password): self.ftp = ftplib.FTP(host) self.ftp.login(user=user, passwd=password)
import ftplib
from os import listdir
from os.path import isfile, join
class FtpObj:
def __init__(self, host, user, password):
self.ftp = ftplib.FTP(host)
self.ftp.login(user=user, passwd=password)
def list_files(self):
files = []
self.ftp.dir(files.append)
print('Found ' + str(len(files)) + 'Files')
return files
但是,这会返回一个格式奇怪的文件名列表,格式如下:
total 71708
-rw-rw-rw- 1 gpatwprd tmwdprd 4799 Nov 30 05:43 20181129.Name A with Space.CSV
-rw-rw-rw- 1 gpatwprd tmwdprd 290 Nov 30 05:09 20181129.name D with Space.CSV
第一部分-rw rw-1 gpatwprd tmwdprd 4799 11月30日05:43
和第一行总计71708
都是元数据和冗余数据
我怎样才能只得到原始文件名而不需要所有这些凌乱的文本
这与
原因:因为我正在寻找一种更干净的方法来提取文件名。在另一个问题中,它是关于拥有一个字符串列表,然后解析这些字符串的一部分。完全无关。请先阅读我的问题,然后再将其标记为可能的副本,我注意到这种情况经常发生。您可以使用ftplib.FTP的此功能获取文件名列表:
files = ftp.nlst()
从可能重复的否,它不是重复。我明确地问你如何在没有元数据的情况下获取文件名。你在另一个问题中已经有了答案。没有,因为在另一个问题中,它的解析字符串在一个列表中。在这里,我希望避免解析字符串,直接从目录列表中获取文件名,而目录列表应该更干净。