私は2つの同じディレクトリ(C:\\Users\\user1\\general
)にあるpython
スクリプトを持っています。 2番目のスクリプトから1つのスクリプトで関数を実行したいので、script1
をscript2
にインポートしようとしています。ここに私のscript2
です:python import別のpythonスクリプトが動作しない
import sys
sys.path.insert(0, 'C:\\Users\\user1\\general')
import script1
from flask import Flask
from flask_socketio import SocketIO, send
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecret'
socketio = SocketIO(app)
@socketio.on('message')
def handleMessage(msg):
print('Message: ' + msg)
# script1 has function called api_call(id,message)
messsage = api_call('user1', msg)
send(messsage, broadcast=True)
if __name__ == '__main__':
socketio.run(app)
ここに私のscript1
です:
import sys
def api_call(Id,message):
# Code processing
if __name__ == '__main__':
uId = sys.argv[0]
message = sys.argv[1]
api_call(userId,message)
私はscript2
の上に実行すると、私はNameError: name 'api_call' is not defined
を取得します。どういうわけかscript1
がインポートされていないように見えて、関数が通過していないようです。
注:以前の私は、その後もsys.path.insert()
と同じ結果を使用せずにしようとしました。
を使用して、あなたはSCRIPT1インポート* 'から'てみたのですか? – saniales
'' script2'の 'api_call'を' script1.api_call'に変更しましたか? – FamousJameous
@sanialesそれは非常に悪い習慣です。 –