Тем не менее, другие участники уже предложили наилучшие возможные ответы, но я хотел бы добавить еще несколько советов при использовании модуля os
.
>>> import os
>>> os.system("pwd")
/home/digit # <-- this is listing the present working Dir
0
Однако это более выполнимо и мудро длямы os
модулируем внутренние атрибуты для использования, такие как переход в каталог, такой как os.chdir
, а не os.system("cd /home/digit/openstack")
, потому что это более интуитивно понятный и функциональный модуль os.
Итак, переход в каталог, который вы должны использовать os.chdir
!
>>> os.chdir("openstack")
>>> os.system("pwd")
/home/dgit/openstack
0
То же самое применяется для получения текущей информации о директории. Избегайте использования встроенной команды os при использовании модуля python os
и используйте os.getcwd
.
>>> os.getcwd()
'/home/digit/openstack'
.текущее содержимое каталога использует os.listdir
, а не os.system("ls -l")
>>> os.listdir()
['vm_list.html']
ИЛИ, без указания текущего пути к рабочему каталогу, это более питоническое
>>> os.listdir(os.getcwd())
['vm_list.html']
ИЛИ, вы даже можете использоватьцикл for для вывода списка файлов и каталогов в указанный каталог, но более элегантный способ - выше единицы!
>>> for filename in os.listdir("/home/digit/openstack"):
... print(filename)
...
vm_list.html
В случае, если вы ищете только подкаталоги сHin данного Dir:
>>> os.chdir("/home/digit/plura/Test")
>>> next(os.walk('.'))[1]
['Python_Dump', 'File_Write_Method', 'Python_FTP', 'Python_Panda', 'Python-3.6.3', 'Python_Parsers', 'Python_Mail', 'Python_aritsTest', 'Network_DeOps', 'Python_ldap', 'Python_Ftp', 'Regular_Expr', 'Python_Primer', 'Python_excep', 'dnspython', '.git', 'argpass', 'BASH', 'NWK-old', 'tmp', 'Backup']
>>>