python - 全局布尔值的代码检查返回一个未命名的变量错误
问题描述
这是我得到的错误。我知道我可能不应该使用全局变量。我按init的顺序调用函数,然后adddata:
Traceback (most recent call last):
File "main.py", line 5, in <module>
adddata("testing", "1, 2, 3")
File "/home/runner/EasyJSON/func.py", line 38, in adddata
if(firsttime == True):
UnboundLocalError: local variable 'firsttime' referenced before assignment
这是返回错误的代码:
def init(*filename):
global firsttime
firsttime = True
global file
file = ""
global undesirablechars
undesirablechars = ["(", ")", "'", ","]
for element in filename:
if element == undesirablechars:
pass
else:
file = element
def adddata(key, value):
keyinfile = ""
valueinfile = ""
for element in key:
if element == undesirablechars:
pass
else:
keyinfile += element
for element in value:
if element == undesirablechars:
pass
else:
valueinfile += element
with open(file, 'w') as writefile:
data = {keyinfile: valueinfile}
if(firsttime == True):
json.dump(data, writefile)
firsttime = False
else:
adddatatofile = json.load(writefile)
adddatatofile.update(data)
writefile.seek(0)
json.dump(adddatatofile, writefile)
这是在 Python 3.8.7 上。这是我正在努力使使用 json 更容易的事情。
解决方案
推荐阅读
- python - 将 selenium 驱动程序连接到嵌入在应用程序中的浏览器
- reactjs - 在 REACTjs 中 props 和 state 是如何工作的?
- python - MLPClassfier predict 和 predict_proba 似乎不一致
- vb.net - 从 VB.net 中的主字符串中获取特定字符串
- r - 使用具有已知基因型的对照进行验证检查
- php - 如何使用 php mail() 从 aws 服务器发送邮件?
- ruby-on-rails - "NoMethodError: undefined method `env' for nil:NilClass" 用于 Rails 中的 Helper 测试
- azure-maps - AzureMap:实时警报弹出
- python - 对于 as 表达式
- sql - 如何在具有多个条件的 SQL 中透视数据