Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在2个文件之间发送变量_Python_Api_Tkinter - Fatal编程技术网

Python 无法在2个文件之间发送变量

Python 无法在2个文件之间发送变量,python,api,tkinter,Python,Api,Tkinter,过程: 使用T1,您可以获得一个gui,在其中可以放置两个许可证号码。这两个号码牌分别放在肯特肯1号和肯特肯2号。在T2中,我得到了kenteken1和kenteken2。我使用这些从API获取信息,以获取这些汽车信息。在algemeen1和algemeen2中,我把我得到的信息放在。在此之后,我想在T1中打印algemeen1和algemeen2 问题: 我不能让它工作 对代码的运行和改进有什么建议吗?可能是我看不到的简单解决方案 运行下面的代码可以得到以下结果: Exception in T

过程: 使用T1,您可以获得一个gui,在其中可以放置两个许可证号码。这两个号码牌分别放在肯特肯1号和肯特肯2号。在T2中,我得到了kenteken1和kenteken2。我使用这些从API获取信息,以获取这些汽车信息。在algemeen1和algemeen2中,我把我得到的信息放在。在此之后,我想在T1中打印algemeen1和algemeen2

问题: 我不能让它工作

对代码的运行和改进有什么建议吗?可能是我看不到的简单解决方案

运行下面的代码可以得到以下结果:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
    return self.func(*args)
  File "C:\Users\Shaker\PycharmProjects\RDW_Vergelijker_Shaker\T1.py", line 15, in show_entry_fields
    print_info_auto()
  File "C:\Users\Shaker\PycharmProjects\RDW_Vergelijker_Shaker\T1.py", line 18, in print_info_auto
    print(algemeen1)
NameError: name 'algemeen1' is not defined
T1.py

T2.py


你有循环依赖关系。T1需要T2的
algemeen1
,但T2需要T1的
kenteken1
kenteken2
。你的设计根本上有缺陷

另外,你真的不应该导入一些实际工作的东西。导入通常用于导入数据、函数和类


您的代码没有简单的解决方案。

谢谢您,由于循环依赖关系,我更改了代码并找到了解决问题的方法。
from tkinter import *
# from T2 import algemeen1
# from T2 import algemeen2
from T2 import *

global kenteken1
global kenteken2

def show_entry_fields():
    global kenteken1, kenteken2
    kenteken1 = Kenteken1_entry.get()
    kenteken2 = Kenteken2_entry.get()
    print_info_auto()

def print_info_auto():
    print(algemeen1)
    print(algemeen2)



master = Tk()
Label(master, text="Kenteken 1").grid(row=0)
Label(master, text="Kenteken 2").grid(row=1)

Kenteken1_entry = Entry(master)
Kenteken2_entry = Entry(master)

Kenteken1_entry.grid(row=0, column=1)
Kenteken2_entry.grid(row=1, column=1)

Button(master, text='Sluit', command=master.quit).grid(row=3, column=0, sticky=W, pady=4)
Button(master, text='Vergelijk', command=show_entry_fields).grid(row=3, column=1, sticky=W, pady=4)

mainloop()
import requests
from T1 import kenteken1
from T1 import kenteken2

entry1  = kenteken1
entry2  = kenteken2
ken1    = '&kenteken='+entry1
ken2    = '&kenteken='+entry2
token   = '$$app_token=d3j2ChpOuaeghKvy4u1C2arcO'


api_query_algemeen = "&$select= merk, handelsbenaming, voertuigsoort, inrichting, uitvoering, eerste_kleur, " \
                     "massa_rijklaar, wam_verzekerd, vervaldatum_apk, datum_eerste_toelating"


url_algemeen1 = 'https://opendata.rdw.nl/resource/m9d7-ebf2.json?{}{}{}'.format(token,api_query_algemeen,ken1)
url_algemeen2 = 'https://opendata.rdw.nl/resource/m9d7-ebf2.json?{}{}{}'.format(token,api_query_algemeen,ken2)


response = requests.get(url_algemeen1)
algemeen1 = response.json()


response = requests.get(url_algemeen2)
algemeen2 = response.json()