Я пытаюсь получить список имен файлов в каталоге 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)
def list_files(self):
files = []
self.ftp.dir(files.append)
print('Found ' + str(len(files)) + 'Files')
return files
Тем не менее, это возвращает мне list
странно отформатированных имен файлов в формате:
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-rw- 1 gpatwprd tmwdprd 4799 Nov 30 05:43
и первая строка total 71708
являются метаданными и избыточны.
Как я могу получить только сырые имена файлов без всего этого грязного текста?
Это не то же самое, что как получить только часть из строки в python. Почему: потому что я ищу более чистый способ извлечь имена файлов. В другом вопросе его о наличии списка строк и затем разбор части этой строки. Полностью НЕОПРЕДЕЛЕН. Пожалуйста, ПРОЧИТАЙТЕ мой вопрос, прежде чем указывать его как возможный дубликат, я заметил, что это происходит довольно часто.
Вы можете использовать эту функцию ftplib.FTP, чтобы получить список имен файлов:
files = ftp.nlst()