モジュール python cmd を使用して python CLI プログラムを作成しようとしています。CLI プログラムで別の python スクリプトを実行しようとすると、私の目的は、他のフォルダーにいくつかの python スクリプトがあり、他のフォルダーに CLI プログラムがあることです。CLI プログラムを使用してこれらの python スクリプトを実行しようとしています。
以下は、CLI プログラムがある他のスクリプトを実行するために使用される os.popen メソッドです。
import cmd
import os
import sys
class demo(cmd.Cmd):
def do_shell(self,line,args):
"""hare is function to execute the other script"""
output = os.popen('xterm -hold -e python %s' % args).read()
output(sys.argv[1])
def do_quit(self,line):
return True
if __name__ == '__main__':
demo().cmdloop()
うさぎはエラーです:
(Cmd) shell demo-test.py
Traceback (most recent call last):
File "bemo.py", line 18, in <module>
demo().cmdloop()
File "/usr/lib/python2.7/cmd.py", line 142, in cmdloop
stop = self.onecmd(line)
File "/usr/lib/python2.7/cmd.py", line 221, in onecmd
return func(arg)
TypeError: do_shell() takes exactly 3 arguments (2 given)
他の cmd CLI プログラムへのリンクがあります 1 = cmd – ライン指向のコマンド プロセッサを作成します 2 = Cmd オブジェクトで構築されたコンソール (Python レシピ)
システムで上記のコードを実行してください。