我正在尝试使用os生成Windows CMD。 使用os.system('cd other_dir')更改目录后,如何使用os查找新目录?
答案 0 :(得分:1)
既然您正在使用标准Linux命令,该怎么办?
os.system("pwd")
答案 1 :(得分:0)
您可以这样做:
os.getcwd()
这将为您提供当前的工作目录(cwd)。
答案 2 :(得分:0)
但是,其他人已经提出了最好的答案,但是我想在使用os
模块时添加更多提示。.
>>> import os
>>> os.system("pwd")
/home/digit # <-- this is listing the present working Dir
0
然而,os
模块的内部属性对于我们来说更可行,更明智,因为它更直观且具有os模块功能,因此可以像遍历到os.chdir
这样的目录而不是使用os.system("cd /home/digit/openstack")
来使用
因此,遍历目录应使用os.chdir
!
>>> os.chdir("openstack")
>>> os.system("pwd")
/home/dgit/openstack
0
使用相同的方法获取当前目录信息时,请避免在使用python os
模块时使用native os命令,而应使用os.getcwd
。
>>> os.getcwd()
'/home/digit/openstack'
要列出当前目录的内容,请使用os.listdir
而不是os.system("ls -l")
>>> os.listdir()
['vm_list.html']
或者,不指定当前工作目录路径,这更像Python
>>> os.listdir(os.getcwd())
['vm_list.html']
或者,您甚至可以使用for循环将文件和目录列出到指定的目录,但更优雅的方法是在目录之上!
>>> for filename in os.listdir("/home/digit/openstack"):
... print(filename)
...
vm_list.html
如果您只想获取给定目录中的子目录:
>>> 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']
>>>