Импорт в Python - PullRequest
       19

Импорт в Python

0 голосов
/ 21 ноября 2010

У меня есть маленький модуль, который создает окно (program1). Я импортировал это в другую мою программу на Python (program2).

Как мне заставить программу 2 вызывать функцию self.Main (), которая есть в program1?

Также, как мне перенести значения между программами?

Скажите в программе1 x = 'привет', как мне получить значение x в программе2?

Это программа1.

import Tkinter

class Class(Tkinter.Tk):

    def __init__(self, parent):

        Tkinter.Tk.__init__(self, parent)
        self.parent = parent

        self.Main()

    def Main(self):
        self.button= Tkinter.Button(self,text='hello')
        self.button.pack()

def run():
    app = Class(None)
    app.mainloop()

if __name__ == "__main__":
    run()

Ответы [ 2 ]

3 голосов
/ 21 ноября 2010

Если программа1 сохраняется в program1.py, то в программе2 вы делаете следующее:

import program1

# this will show program1's "x" variable
print program1.x

# this will set program1's "x" variable
program1.x = "hello again"

# this will run your program1's "run" function, which 
# should create the Tkinter window for you
program1.run()

# if you REALLY want to call "Main" yourself, which will
# probably just break Tkinter since your init function
# already calls Main() once, you can do...
myclass = program1.Class(None)
myclass.Main()
0 голосов
/ 31 мая 2012

Наряду с тем, что сказал cecilkorik, вы можете сделать:

from program1 import *

Это позволит вам использовать «x» само по себе, не делая:иногда можно переписать важные вещи, и вы можете просто захотеть сделать:

from program1 import x

Чтобы импортировать только одну конкретную вещь.

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