Python 从其他位置运行Tensorflow脚本

Python 从其他位置运行Tensorflow脚本,python,python-3.x,tensorflow,image-processing,runtime-error,Python,Python 3.x,Tensorflow,Image Processing,Runtime Error,我已经创建了Tensorflow图像分类器,应该使用另一个python脚本调用图像分类器 我尝试了os.system(),但我不能只调用Tensorflow脚本,因为这取决于Tensorflow脚本位置中的多个文件。所以我必须在主脚本(第二个python脚本)中包含所有带有分类器脚本的文件 最好的方法是什么 脚本运行时: 从其他位置运行时出现脚本错误: 您是否尝试过替代操作系统 从中可以看到这个简单的演示: py2.py: import sys print sys.argv py3.py:

我已经创建了Tensorflow图像分类器,应该使用另一个python脚本调用图像分类器

我尝试了os.system(),但我不能只调用Tensorflow脚本,因为这取决于Tensorflow脚本位置中的多个文件。所以我必须在主脚本(第二个python脚本)中包含所有带有分类器脚本的文件

最好的方法是什么

脚本运行时:

从其他位置运行时出现脚本错误:

您是否尝试过替代操作系统

从中可以看到这个简单的演示:

py2.py:

import sys
print sys.argv
py3.py:

import subprocess
py2output = subprocess.check_output(['python', 'py2.py', '-i', 'test.txt'])
print('py2 said:', py2output)
运行它:

$ python3 py3.py
py2 said: b"['py2.py', '-i', 'test.txt']\n"
更新:

我认为您的问题在于,在运行python脚本之前,您需要指定/设置正确的文件夹路径。例如:

假设您具有以下文件夹结构:

/root/project/script.py
/root/project/data/file.txt
如果在python脚本中使用相对路径(如/data/file.txt)加载文件,则需要在项目文件夹中运行脚本。 如果在root文件夹中运行,如下所示:

/root$ python project/script.py
os.system("cd project && python script.py") # for my example case
脚本失败,因为它试图在根文件夹中查找data/file.txt。 在运行python脚本之前,可以使用cd命令更改当前目录。您可以在调用操作系统时执行此操作,如下所示:

/root$ python project/script.py
os.system("cd project && python script.py") # for my example case

无论从何处调用python脚本,脚本中的所有相对路径都将基于。i、 e.您在第一幅图像中从其项目文件夹调用脚本,因此指向
project\u folder/tf\u files/…
的链接正常工作,而您后来从其他地方调用脚本,因此符号链接混乱。您的脚本试图在别处找到
/tf_files/…
,但该子文件夹不存在

您可以编辑脚本,使所有路径始终为A(从
/home/..
开始),这样就无法混淆