是否可以从被调用的程序本身修补一个 python 程序的复制和粘贴调用?它不必是完全相同的调用字符串,但参数应该解析为相同的东西。
请注意' '.join(sys.argv)
,不幸的是,它不会削减它。这种方法的主要问题是它不能正确引用参数。考虑dummy.py
与import sys; print(sys.argv); print(' '.join(sys.argv))
运行python dummy.py "1 2"
打印:
['dummy.py', '1 2']
dummy.py 1 2
当然,如果我们复制后者,我们将得到不同的调用。将每个参数用引号括起来也不起作用。考虑dummy2.py
:
import sys
print(sys.argv)
print(' '.join('"{}"'.format(s) for s in sys.argv))
这将打破:
python dummy2.py ' " breaking " '