【发布时间】:2020-04-25 22:47:36
【问题描述】:
我试图使用 Python 编写一个脚本,该脚本使用了一个名为 PRET 的开源渗透测试工具,该工具是我从 Github 获得的。我正在为此使用 PyCharm。
我的代码是:
import os
def test():
os.system('cd PRET')
os.system('python2 pret.py')
test()
在这样做的时候,我遇到了这个错误:
sh: line 0: cd: PRET: No such file or directory /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python:无法打开文件'pret.py':[Errno 2]没有这样的文件或目录
【问题讨论】:
-
1) 从不使用
os.system。这是不安全的,subprocess模块中有更好的选择。 2)os.system为每个调用生成一个新的 shell,这意味着你的cd PRET没有做任何有用的事情 -
如果
pret.py写得很好,它并不关心你在运行它时在哪个目录。如果是这样,cd there; python2 pret.py是一种不必要的复杂方式来表达python2 there/pret.py -
第一条错误消息意味着您在尝试运行它的目录中没有名为
PRET的目录。可能您首先需要了解当前工作目录的概念。 stackoverflow.com/a/55342466/874188有解释。
标签: python