2017-11-09 7 views
0

サブプロセスを使用して別のスクリプトを呼び出そうとしていますが、初心者ではありません。pythonの別のスクリプトから呼び出すときにサブプロセスを使用するとエラーが発生する

最初のスクリプトは変数を定義し、異なる場所に保存されるため、絶対パスは使用できません。

第2のスクリプトは、最初のスクリプトの変数を呼び出し、そのスクリプトを使用してその処理を行います。このスクリプトは同じディレクトリに置かれます。

これは私がこれまで持っているもの

script1.pyです:

import os 
import sys 
import subprocess 

x = 'VALUE' 

import subprocess 
subprocess.call(["python", "/mnt/scratch/script2.py"]) 

script2.py:

import sys 
import subprocess 

from script1 import x 

はかなり基本的なようだが、上がってくるエラーは次のとおりです。はImportError:いいえモジュール名x

乾杯

+0

なぜscript1からscript2を呼び出す必要がありますか? script1が変数の定義のみの場合、script1をインポートするため、script2 strightを実行することができます。 – xhancar

+0

あなたは正しいです、私は最初のスクリプトで呼び出しを取り出し、代わりにexecfileを実行しました。そして、それはサイクリングの依存関係を持っていると思います(呼び出し - >インポート - >呼び出し - >インポート - > ...)働いた。ありがとう – btrue

答えて

0

スクリプトの1.pyは、いくつかのフォルダと仮定するDにある場合:あなたのScript2.pyは、いくつかの他のフォルダに

である一方でscript2.py内のファイル1のフォルダの場所へのパスを提供デスクトップ\テスト \ \ユーザーsys.pathとする必要があります

import sys 
import subprocess 
sys.path.append('D:\Users\Desktop\Test') 
from script1 import x 
print x 
関連する問題