如何从另一个python文件运行一个python文件?

如何从另一个python文件运行一个python文件?

问题描述:

首先,我是一名Python初学者,所以我甚至不确定我的问题是否合理或甚至是可能的。如何从另一个python文件运行一个python文件?

我有2个python文件app.py。和compare.pycompare.py需要两个参数(文件路径)才能运行。举例来说,当我想运行它时,我做了python compare.py ./image1.jpg ./image2.jpg。现在我得到的回报是打印到终端的一些文本,如Comparison Done, The distance is 0.544

现在,我想从app.py里面运行这个compare.py,并得到一个字符串,不管compare.py通常会输出到终端。例如:

result = function('compare.py ./image1.jpg ./image2.jpg')和结果将具有必需的字符串。这可能吗?

+1

不知道更多关于'compare.py'的结构,这是很难说 - 这是可能的,如果它是明智的书面,你可以简单地用适当的行为“导入”函数并自己调用它。 – jonrsharpe

+0

只要你把它放在心上,一切都是可能的;)你可能必须从一个python函数中返回这些字符串,并在另一个中导入一个'.py'文件来调用该函数。是的,但很难说不知道这些文件的结构。 – Unni

+0

你有比较脚本的控制权吗?导入比较脚本并直接调用比较函数可能更好。 – Holloway

您可以使用os.popen

在app.py:

import os 
output = os.popen('python compare.py ./image1.jpg ./image2.jpg').readlines() 
+0

谢谢,作品像魅力! – AspiringMat

+0

@AspiringMat乐于帮助! – Ajax1234