更改字典中提到的全局变量
Changing global variable mentioned on a dictionary
我正在尝试从嵌套函数更改全局变量,另一个全局变量中也提到了目标变量,这是我使用的代码:
import requests
codomain = 'line.me'
requ = { "Host": control_domain, "DNT": "1", "Accept-Language": "*", "Accept": "*/*", "Accept-Encoding": "*", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1" }
def menu():
ans=input(" Choose : ")
if str(ans)=="1":
...
opti=input(" Choose Option : ")
if str(opti)=="1":
def text():
print("1. Insert Target Domain")
print("2. Leave it as default")
print("")
ansi=input(" Choose Option : ")
if str(ansi)=="1":
codomain=input(" Domain : ")
print(f"{codomain}" + " Selected as Domain")
else:
pass
print(" Outside " + f"{codomain}")
print(" Check " + f"{requ}")
r=requests.get("http://linecorp.com",headers=requ)
text()
menu()
具体问题出在全局变量本身:
codomain="line.me"
requ={ "Host": codomain }
我想添加用户输入,无论 codomain
是由用户更改还是保留为默认值;即 line.me
。我尝试使用 global
和 nonlocal
.
显式转换已更改的变量
global codomain
codomain=input("Input Domain:")
但是上面的代码并没有改变requ
变量中的目标codomain
,这在打印变量时证明了:
print(codomain) #It prints user-input
print(requ) #Codomain inside requ still prints default line.me
我正在尝试另一种解决方法,方法是在 requ
:
中直接访问 codomain
的 globals
host="line.me"
codomain=str(globals,["host"])
requ={ "Host": codomain }
以下导致 dict
错误,因为可能 dict
无法直接传递项目。
看起来,我对 dict
的工作原理有点困惑。 dict codomain
变量是保留的,不遵循 codomain
的变化。事实证明它很容易修复。
### Instead of accessing ```globals```
codomain=str(globals,["Host"])
### Just change the ```dict``` directly
requ["Host"]=codomain
我正在尝试从嵌套函数更改全局变量,另一个全局变量中也提到了目标变量,这是我使用的代码:
import requests
codomain = 'line.me'
requ = { "Host": control_domain, "DNT": "1", "Accept-Language": "*", "Accept": "*/*", "Accept-Encoding": "*", "Connection": "keep-alive", "Upgrade-Insecure-Requests": "1" }
def menu():
ans=input(" Choose : ")
if str(ans)=="1":
...
opti=input(" Choose Option : ")
if str(opti)=="1":
def text():
print("1. Insert Target Domain")
print("2. Leave it as default")
print("")
ansi=input(" Choose Option : ")
if str(ansi)=="1":
codomain=input(" Domain : ")
print(f"{codomain}" + " Selected as Domain")
else:
pass
print(" Outside " + f"{codomain}")
print(" Check " + f"{requ}")
r=requests.get("http://linecorp.com",headers=requ)
text()
menu()
具体问题出在全局变量本身:
codomain="line.me"
requ={ "Host": codomain }
我想添加用户输入,无论 codomain
是由用户更改还是保留为默认值;即 line.me
。我尝试使用 global
和 nonlocal
.
global codomain
codomain=input("Input Domain:")
但是上面的代码并没有改变requ
变量中的目标codomain
,这在打印变量时证明了:
print(codomain) #It prints user-input
print(requ) #Codomain inside requ still prints default line.me
我正在尝试另一种解决方法,方法是在 requ
:
codomain
的 globals
host="line.me"
codomain=str(globals,["host"])
requ={ "Host": codomain }
以下导致 dict
错误,因为可能 dict
无法直接传递项目。
看起来,我对 dict
的工作原理有点困惑。 dict codomain
变量是保留的,不遵循 codomain
的变化。事实证明它很容易修复。
### Instead of accessing ```globals```
codomain=str(globals,["Host"])
### Just change the ```dict``` directly
requ["Host"]=codomain