Форум сайта python.su
Доброго времени суток!
Задача:
Реализуйте собственный вариант команды treeНепонятно как сделать поддержку ключей. Да и вообще всю прогу…
Пусть программа поддерживает по меньшей мере ключи -d и -o так же, как это делает реализация утилиты tree в OC Linux.
Офлайн
Как-то так
# coding=utf-8 import os def print_dir(path, prefix=u''): print u'{}├── {}'.format(prefix, os.path.basename(path)) for item in os.listdir(path): p = os.path.join(path, item) if os.path.isdir(p): print_dir(p, prefix + u'│ ') else: print u'{}│ ├── (f) {}'.format(prefix, item) print_dir('/etc/dovecot')
am@s01 ~ # python tree.py
├── dovecot
│ ├── (f) sieve.conf
│ ├── conf.d
│ │ ├── (f) auth-system.conf.ext
│ │ ├── (f) auth-master.conf.ext
│ │ ├── (f) 10-auth.conf
│ │ ├── (f) 20-pop3.conf
│ │ ├── (f) auth-passwdfile.conf.ext
│ │ ├── (f) auth-ldap.conf.ext
│ │ ├── (f) 90-plugin.conf
│ │ ├── (f) 90-quota.conf
│ │ ├── (f) auth-vpopmail.conf.ext
│ │ ├── (f) 999-custom.conf
│ │ ├── (f) 20-managesieve.conf
│ │ ├── (f) auth-deny.conf.ext
│ │ ├── (f) 90-sieve.conf
│ │ ├── (f) 10-ssl.conf
│ │ ├── (f) 10-master.conf
│ │ ├── (f) auth-sql.conf.ext
│ │ ├── (f) auth-static.conf.ext
│ │ ├── (f) 10-director.conf
│ │ ├── (f) 90-acl.conf
│ │ ├── (f) 10-logging.conf
│ │ ├── (f) 15-mailboxes.conf
│ │ ├── (f) auth-checkpassword.conf.ext
│ │ ├── (f) 20-imap.conf
│ │ ├── (f) 10-tcpwrapper.conf
│ │ ├── (f) 15-lda.conf
│ │ ├── (f) 10-mail.conf
│ ├── (f) dovecot-sql.conf.ext
│ ├── private
│ │ ├── (f) dovecot.pem
│ ├── (f) dovecot.conf
│ ├── (f) README
│ ├── (f) dovecot-db.conf.ext
│ ├── (f) dovecot.passwd
│ ├── (f) dovecot-dict-sql.conf.ext
│ ├── (f) local.conf
│ ├── (f) dovecot-ldap.conf.ext
│ ├── (f) dovecot.pem
am@s01 ~ #
Офлайн
Kabsashмодули argparse или optparse
Непонятно как сделать поддержку ключей
Офлайн
JOHN_16argparse - это замена для optparse
модули argparse или optparse
Офлайн