跑到我试图运行我的文件“counting.py”在终端但不直接。我正在使用“almost.py”中的subprocess模块,它告诉终端在counting.py中运行“count(a,b)”特定函数。捕捉蟒蛇功能的实际产出从subprocess.Popen模块
***计数(A,B)有两个串a和b,并返回总字数
almost.py被成功引导终端运行计数(A,B)在counting.py。但是,在通过子进程运行后,我无法检索count(a,b)函数的实际输出。我该怎么做?
almost.py
import subprocess
output = subprocess.Popen(['python', 'counting.py', 'count', '"let roll"', '"love it most "'])
print (output) #it is not actually return the real value of count(a, b)!!!
counting.py
from sys import argv
def count (a, b):
word = False
a = " " + a + " "
b = " " + b + " "
result = 0
for i in range (len (a)-1):
if a[i] == " " and a[i+1] != " ":
word = True
result += 1
else:
word = False
for i in range (len (b)-1):
if b[i] == " " and b[i+1] != " ":
word = True
result += 1
else:
word = False
return result
if __name__ == "__main__":
print(count (argv[2], argv[3]))
为什么你这样做,如果你可以'导入计数',然后从Python调用'counting.count'没有任何子进程吗? – ForceBru
@ForceBru因为我正在学习这个概念。原始项目涉及从终端运行一个bash文件不counting.py这就是为什么我必须使用子进程来运行该文件,而不是导入它 –