我需要从我的Python脚本中执行这个脚本。
这可能吗?该脚本生成一些输出,其中包含一些正在写入的文件。如何访问这些文件?我试过子进程调用函数,但没有成功。
fx@fx-ubuntu:~/Documents/projects/foo$ bin/bar -c somefile.xml -d text.txt -r aString -f anotherString >output
应用程序“bar”还引用了一些库,除了输出之外,它还创建了文件“bar.xml”。我如何访问这些文件?使用open()?
谢谢你
编辑:
Python运行时的错误只有这一行。
$ python foo.py
bin/bar: bin/bar: cannot execute binary file
3条答案
按热度按时间xienkqul1#
要执行外部程序,请执行以下操作:
是的,假设您的
bin/bar
程序将一些其他分类文件写入磁盘,您可以使用open("path/to/output/file.txt")
正常打开它们。请注意,如果您不愿意,您不需要依赖子shell将输出重定向到磁盘上名为“output”的文件。我在这里展示了如何直接将输出读取到Python程序中,而不需要在中间访问磁盘。kpbwa7wx2#
最简单的方法是:
使用
open()
以通常的方式访问文件。如果你需要做更复杂的子进程管理,那么subprocess模块是一个不错的选择。
siv3szwd3#
用于执行unix可执行文件。我在我的Mac OSX中做了以下事情,它对我很有效:
这里
print(so)
输出结果。