Импорт скрипта в другой скрипт - PullRequest
2 голосов
/ 25 января 2011

Я пытаюсь импортировать этот файл

http://pastebin.com/bEss4J6Q

В этот файл

def MainLoop(self): #MainLoop is used to make the commands executable ie !google !say etc;
                try:
                    while True:
                        # This method sends a ping to the server and if it pings it will send a pong back
                        #in other clients they keep receiving till they have a complete line however mine does not as of right now
                        #The PING command is used to test the presence of an active client or
                        #server at the other end of the connection.  Servers send a PING
                        #message at regular intervals if no other activity detected coming
                        #from a connection.  If a connection fails to respond to a PING
                        #message within a set amount of time, that connection is closed. A
                        #PING message MAY be sent even if the connection is active.
                        #PONG message is a reply to PING message.  If parameter <server2> is
                        #given, this message will be forwarded to given target.  The <server>
                        #parameter is the name of the entity who has responded to PING message
                        #and generated this message.

                        self.data = self.irc.recv( 4096 )
                        print self.data
                        if self.data.find ( 'PING' ) != -1:
                            self.irc.send(( "PONG %s \r\n" ) % (self.data.split() [ 1 ])) #Possible overflow problem

                        if "!chat" in self.data:
                            ..... 

Чтобы я мог успешно вызывать импортированный файл (ipibot) всякий раз, когда '! chat' в self.data: # называется.

Но я не уверен, как это написать. Это то, что я до сих пор

 if "!chat" in self.data:
      user = ipibot.ipibot()
      user.respond

Я хотел бы заявить, что я посмотрел на модульную часть Python, а также на Импорт. Кажется, я просто не могу это понять?

file -> class -> function - это то, что я понимаю.

1 Ответ

4 голосов
/ 25 января 2011

Модуль - это не что иное, как исходный файл Python.Этот исходный файл Python хранится в том же каталоге, что и другой исходный файл, и вы можете импортировать этот модуль в другие исходные файлы.Когда вы импортируете этот модуль, вам будут доступны классы и функции, определенные в этом модуле.Например, в вашем случае вы просто должны сделать

import ipibot

в верхней части исходного кода, при условии, что файл ipibot.py (ваш pastebin) находится в том же каталоге или PYTHONPATH (стандартный каталоггде программы Python могут искать модуль), а затем начать использовать ipibot.ipibot() для использования функции ipibot() из этого модуля.Вот и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...