Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 7, 2010 17:23:21

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

Здравствуйте!

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

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

from ftplib import FTP

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

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

for obj in flist:
print obj
Спасибо за внимание



Офлайн

#2 Ноя. 7, 2010 17:26:22

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

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

Отредактировано (Ноя. 7, 2010 17:26:59)

Офлайн

#3 Ноя. 7, 2010 17:53:28

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

sypper-pit, если нужны только имена то их с помощью re выдёргивать ?



Офлайн

#4 Ноя. 7, 2010 17:57:58

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

если умеешь то почему бы и нет, так же можно split использовать построчно , решай сам кк тебе удобнее

Отредактировано (Ноя. 7, 2010 17:59:31)

Офлайн

#5 Ноя. 8, 2010 12:11:32

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

С split идея не плохая, но мне нужно работать с условием:

if (файл):
действие
else:
действие
Может в Python есть что-то вроде is_file() как в PHP ?



Отредактировано (Ноя. 8, 2010 12:42:24)

Офлайн

#6 Ноя. 8, 2010 14:22:02

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

andreiru
С split идея не плохая, но мне нужно работать с условием:

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



Офлайн

#7 Ноя. 8, 2010 14:36:12

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

Syao пробую так не работает:

import os

if (os.path.isfile('ftp://myftp/pub/test.txt')):
print '1'
else:
print '0'
Вроде всё правильно сделал ?



Офлайн

#8 Ноя. 8, 2010 21:56:25

Syao
От:
Зарегистрирован: 2009-11-15
Сообщения: 43
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

А-а-а, в этом смысле …
isfile - это для локальной машины, чего то я затупил…
Смотри на первый символ строки в выводе ftplib, это unix'овская натация: ‘d’ - директория, ‘-’ - файл, и т.д.



Офлайн

#9 Ноя. 9, 2010 11:59:58

andreiru
От:
Зарегистрирован: 2010-11-06
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

ftplib вывести только имена папок

Syao, sypper-pit, спасибо



Отредактировано (Ноя. 14, 2010 13:46:38)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version