2017-10-11 130 views
0

首先,我是一名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

回答

2

您可以使用os.popen

在app.py:

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

謝謝,作品像魅力! – AspiringMat

+0

@AspiringMat樂於幫助! – Ajax1234

相關問題