Вызов переменных из одного метода в другой в Python - PullRequest
0 голосов
/ 05 марта 2020

ТАК, это первый проект, который я взялся за рамки уроков для начинающих. Пока что я сделал два модуля, один из которых создает URL-адрес из пользовательского ввода. Он объединяет кучу вещей вместе и использует пользовательский ввод для сохранения таких вещей, как даты и время, чтобы сформировать весь URL-адрес, я проверил это, и он работает нормально.

Я также создал небольшой GUI он берет две части ввода и отображает их внутри текстового поля, это также работает нормально.

У меня есть функция в GUI, которая записывает текст из полей ввода текста. Я хотел бы, чтобы введенный текст использовался как мой пользовательский ввод внутри другого модуля. Нужно ли мне возвращать каждую текстовую запись как отдельный вызов? Или я могу оставить два поля, но получить доступ к переменным, сохраненным при каждом вызове функции?

def click():
    entered_text = textEntry.get()
    entered_text2 = textEntry2.get()
    output.delete(0.0,END)
    output.insert(END, entered_text +'\n'+ entered_text2)
    # This is the end of this function with no return

, и вот часть, которую я хотел бы использовать для формирования части URL

def create_MY_URL():
    startDate = input("Enter intraday start date dd/mm/yyyy: ")
    startTime = input("Enter start time hh:mm: ")
    finishDate = input("Enter intraday finish date dd/mm/yyyy: ")
    finishTime = input("Enter finish time hh:mm: ")
    #there is plenty more of this function, it is returned at the end

Так что мне нужно было бы два вызова метода click () для каждой части информации, чтобы использовать ее как «startDate» и «FinishDate»?

1 Ответ

0 голосов
/ 05 марта 2020

Здесь вам поможет импорт, при условии, что у вас есть два .py файла с именами gui .py и create_url.py, и вы импортируете функциональность из вашего create_url.py в ваш gui .py

* 1002. * create_url.py
def create_MY_URL(start_date, end_date):  # accept the variables as input
    startDate = start_date  # assign the variables rather than accept an input
    startTime = input("Enter start time hh:mm: ")
    finishDate = end_date
    finishTime = input("Enter finish time hh:mm: ")
    #there is plenty more of this function, it is returned at the end

С gui .py вы импортируете create_url и затем можете вызывать функции, которые вы встроили в create_url.py

import create_url  # name of .py file

def click():
    entered_text = textEntry.get()
    entered_text2 = textEntry2.get()
    output.delete(0.0,END)
    output.insert(END, entered_text +'\n'+ entered_text2)

    create_MY_URL(entered_text, entered_text2)  # call your function and pass your two inputs
    # create_MY_URL will do stuff here

В этом примере оба .py файлы существуют в одном каталоге

...