我有一个Python脚本script.py
的示例,它应该采用二进制文件并将其转换为另一个二进制文件。在示例中,调用如下:
dir1/file1 -D python dir2/file2 > script.py
我认为来自file2
的{{1}},dir2
中的转换和输出为file1
,但事实并非如此。当我运行此脚本时(我确保dir
存在)没有任何反应。
在dir2/file2
内,我有代码:
script.py
所以我假设主要工作是由其他一些函数def main():
if len(sys.argv) <2:
print >>sys.stderr
sys.exit(1)
try:
convert(sys.argv[1])
except: return1
完成的。
令我困惑的是convert
对此脚本的调用。
如何理解这个电话?
这是调用python函数的常用方法吗?
评论后编辑: 感谢您的解释,file1是二进制文件,它存在于系统中。最初我以为它是由已经完成它的人通过脚本创建的。从你说的看起来它是某种在后台调用python的可执行文件。
(顺便说一下,如果他们不知道答案,那么人们如何降级这个问题很有意思)
答案 0 :(得分:1)
是否正常:调用python脚本的正常方法是:python script_name.py ARGS
,所以如果你有意做了什么,这是不正常的。
如何解释CMD调用:您添加的内容是使用参数file1
运行-D python dir2/file2
,然后将STDOUT重定向到script.py
以获得您需要的任何洞察力知道file1是什么。试试file --help
或file --h
,如果这样做无效,请尝试使用hexdump
打开它,或运行strings file1
,这将显示文件中存在的文字字符串。他们可能会给你一个见解。