【发布时间】:2013-01-31 06:56:58
【问题描述】:
我需要通过python执行以下命令。 rtl2gds 是一个读取 2 个参数的工具:文件路径和模块名称
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 或其他一些函数(可能是子进程?-但不知道如何)。任何帮助表示赞赏。
【问题讨论】: