[我在网上找到了一个脚本,可以将文件从一个特定的扩展名转换为另一个扩展名,我正在尝试利用subprocess.call
,但到目前为止还没有运气。
我正在尝试使用subprocess.call
转换目录中的文件。我成功地在终端中执行了此操作,现在尝试作为程序的一部分在python中执行此操作。
关于参数,我给'python'脚本的名称,我要转换的文件,然后在转换后使用新名称。
subprocess.call(["python", "converter.py", "file1.txt", ">", "file1converted.xml"])
我以正确的方式使用subprocess.call
吗?我似乎找不到任何方法来执行我要执行的操作,如果可能的话,我也想找到一种方法来转换文件,而无需在转换后指定新名称,而是使用更改将“ file1.txt”更改为“ .xml”。
有两种方法,第一种是您执行的方法,但应在参数中添加shell=True
。如果shell命令来自外部,请勿使用shell=True
,因为这将带来巨大的安全风险
subprocess.call(["python", "converter.py", "file1.txt", ">", "file1converted.xml"], shell=True)
另一种方法是利用我个人更喜欢的Popen
subprocess.Popen(["python", "converter.py", "file1.txt", ">", "file1converted.xml"])