Найти - Пользователи
Полная версия: ftplib вывести только имена папок
Начало » Network » ftplib вывести только имена папок
1
andreiru
Здравствуйте!

Подскажите как вывести только имена папок:

# -*- coding: utf-8 -*-

from ftplib import FTP

ftp = FTP('ftp_url')
ftp.login()

flist = ftp.nlst('pub/Books')

for obj in flist:
print obj
Спасибо за внимание
sypper-pit
ftps.retrlines('LIST')
раньше работало и выводить должно что то вроде
total 9
drwxr-xr-x 8 root wheel 1024 Jan 3 1994 .
drwxr-xr-x 8 root wheel 1024 Jan 3 1994 ..
drwxr-xr-x 2 root wheel 1024 Jan 3 1994 bin
drwxr-xr-x 2 root wheel 1024 Jan 3 1994 etc
d-wxrwxr-x 2 ftp wheel 1024 Sep 5 13:43 incoming
drwxr-xr-x 2 root wheel 1024 Nov 17 1993 lib
drwxr-xr-x 6 1094 wheel 1024 Sep 13 19:07 pub
drwxr-xr-x 3 root wheel 1024 Jan 3 1994 usr
-rw-r--r-- 1 root root 312 Aug 1 1994 welcome.msg
'226 Transfer complete.'
http://docs.python.org/library/ftplib.html
andreiru
sypper-pit, если нужны только имена то их с помощью re выдёргивать ?
sypper-pit
если умеешь то почему бы и нет, так же можно split использовать построчно , решай сам кк тебе удобнее
andreiru
С split идея не плохая, но мне нужно работать с условием:

if (файл):
действие
else:
действие
Может в Python есть что-то вроде is_file() как в PHP ?
Syao
andreiru
С split идея не плохая, но мне нужно работать с условием:

if (файл):
действие
else:
действие
Может в Python есть что-то вроде is_file() как в PHP ?
os.path.isfile
andreiru
Syao пробую так не работает:

import os

if (os.path.isfile('ftp://myftp/pub/test.txt')):
print '1'
else:
print '0'
Вроде всё правильно сделал ?
Syao
А-а-а, в этом смысле …
isfile - это для локальной машины, чего то я затупил…
Смотри на первый символ строки в выводе ftplib, это unix'овская натация: ‘d’ - директория, ‘-’ - файл, и т.д.
andreiru
Syao, sypper-pit, спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB