asyncoreを別のディレクトリからインポートしたいのですが、asyncoreの動作を少し変更する必要があり、ベースファイルを変更したくないからです。モジュールを別のディレクトリからインポートするにはどうすればよいですか?
私はそれを私のスクリプトのフォルダに含めることができましたが、私が必要とするすべてのモジュールを置いた後、それはむしろうんざりしてしまいます。
サブディレクトリを作成し、空の__init__.pyファイルを置いていることはよく知っています。これは機能しません。どういうことが起こっているのか正確には分かりませんが、asyncoreをサブディレクトリからインポートすると、asyncoreが正常に機能しなくなります。具体的には、私が呼び出していても、connectメソッドはまったく実行されません。 asyncoreをメインディレクトリに移動し、通常はこの問題を取り除きます。
私はかなり私のコードをダウン脱脂が、これはまだ同じ問題を抱えている:
from Modules import asyncore
from Modules import asynchat
from Modules import socket
class runBot(asynchat.async_chat, object):
def __init__(self):
asynchat.async_chat.__init__(self)
self.connect_to_twitch()
def connect_to_twitch(self):
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
self.connect(('irc.chat.twitch.tv',6667))
self.set_terminator('\n')
self.buffer=[]
def collect_incoming_data(self, data):
self.buffer.append(data)
def found_terminator(self):
msg = ''.join(self.buffer)
print(msg)
if __name__ == '__main__':
# Assign bots to channels
bot = runBot()
# Start bots
asyncore.loop(0.001)
私はこれは私が見渡せるよ、本当に単純なものであると確信しているが、私はちょうどこれを理解することはできませんよでる。
(HTTPを[Pythonで別のフォルダからファイルをインポート]の可能重複: //stackoverflow.com/questions/4383571/importing-files-from-different-folder-in-python)2番目の答えを確認してください。 –
ああああ。私は特に、__init__.pyファイルを使用するとうまくいかないと言っていました。最初の答えはうまくいくはずですが、それほど美しいものではありません。私は、もし存在するならば別の方法、またはasyncoreが__init__.pyを持つサブフォルダを通してインポートされたときに、asyncoreが正しく動作しない理由についての説明に感謝します。 – Yamajac