Fel*_*lix 6 python raw-input os.path
如何通过os.listdir指定哪个目录来通过,只能将python带到输出目录raw_input?
是)我有的:
file_to_search = raw_input("which file to search?\n>")
dirlist=[]
for filename in os.listdir(file_to_search):
if os.path.isdir(filename) == True:
dirlist.append(filename)
print dirlist
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入(通过raw_input)当前工作目录,这实际上是有效的.但是,如果我输入其他内容,列表将返回空.我试图划分并克服这个问题,但是每个代码片都按预期工作.
Jea*_*bre 11
这是预期的,因为os.listdir只返回文件/目录的名称,所以找不到对象,除非你在当前目录中运行它.
您必须join扫描目录以计算其工作的完整路径:
for filename in os.listdir(file_to_search):
if os.path.isdir(os.path.join(file_to_search,filename)):
dirlist.append(filename)
Run Code Online (Sandbox Code Playgroud)
请注意列表理解版本:
dirlist = [filename for filename in os.listdir(file_to_search) if os.path.isdir(os.path.join(file_to_search,filename))]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5486 次 |
| 最近记录: |