我需要通過python執行以下命令。 rtl2gds是一個工具,它讀取在2個參數:路徑到一個文件和一個模塊名稱如下所示將參數傳遞到os.system中
rtl2gds -rtl=/home/users/name/file.v -rtl_top=module_name -syn
我讀在路徑從通過argparse用戶文件和模塊名:
parser = argparse.ArgumentParser(description='Read in a file..')
parser.add_argument('fileread', type=argparse.FileType('r'), help='Enter the file path')
parser.add_argument('-e', help='Enter the module name', dest='module_name')
args = parser.parse_args()
os.system("rtl2gds -rtl=args.fileread -rtl_top=args.module_name -syn")
但是,當我調用-rtl = args.fileread時,讀入args.fileread的文件路徑沒有進入os.system。相反,args.fileread本身被假定爲文件名,並且該工具標記錯誤。我相信有一種方法可以將命令行參數讀入到os.system或其他函數中(可能是子進程? - 但是不知道如何)。任何幫助表示讚賞。
[在Python中調用外部命令]可能的重複(http://stackoverflow.com/questions/89228/calling-an-external-command-in-python) – Wolf 2014-09-24 12:23:45