我有点卡住了。我想在一个目录中“确认”并在终端中打印确认列表。但是当我尝试运行脚本时,它只在当前目录中。你知道吗
我用tkinter创建tkFileDialog.ask目录()
不过,我还是被卡住了。。你知道吗
有人能帮忙吗?或者指出我做错了什么? 我写的代码如下
foldername = tkFileDialog.askdirectory()
if os.path.isdir(foldername):
print "\033[1m" + foldername + "\033[0m"
os.system("ack -i 'password' --ignore-file=is:easyack.py")
else: print "\033[1m" + "No folder chosen" + "\033[0m"
您需要指示} 模块,用
ack
子进程在foldername
而不是当前目录中运行。你不能用os.system
来做这件事,但是你可以用^{cwd=
参数来Popen
或者任何方便的包装器。在这种情况下,subprocess.check_call
就是您想要的:我强烈建议你忘记你曾经听说过的
os.system
,一直使用subprocess
。对于非常简单的事情来说,它稍微复杂一些,但是它能够处理比os.system
更复杂的事情。你知道吗两种选择:
在运行ack之前跳转到目标目录
注意:这种方法被一些人认为是一种反模式(参见下面zwol的评论),因为它可能无法返回到原始目录(例如,如果它被删除或者它的权限被更改),并且CHDOS公司影响整个进程,因此可能会中断其他线程中正在进行的工作。你知道吗
将目标文件夹添加到ack命令
相关问题 更多 >
编程相关推荐