Python 名称错误:名称'';不是仅在调试模式下定义的
我编写了python脚本,更改了其中一个变量名,代码运行良好,但当我在调试模式下运行它时,我发现变量名发生了更改,我尝试“清理”代码,并进行了同步,但仍然发生。 “time”被称为“timeNow”,错误为:Python 名称错误:名称'';不是仅在调试模式下定义的,python,pycharm,nameerror,Python,Pycharm,Nameerror,我编写了python脚本,更改了其中一个变量名,代码运行良好,但当我在调试模式下运行它时,我发现变量名发生了更改,我尝试“清理”代码,并进行了同步,但仍然发生。 “time”被称为“timeNow”,错误为: Traceback (most recent call last): File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.1\helpers\pydev\_pydevd_bundle\pydevd_comm
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition
2017.3.1\helpers\pydev\_pydevd_bundle\pydevd_comm.py", line 1157, in do_it
result = pydevd_vars.evaluate_expression(self.thread_id,
self.frame_id, self.expression, self.doExec)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.1\helpers\pydev\_pydevd_bundle\pydevd_vars.py", line 345, in evaluate_expression
Exec(expression, updated_globals, frame.f_locals)
File "C:\Program Files\JetBrains\PyCharm Community Edition 2017.3.1\helpers\pydev\_pydevd_bundle\pydevd_exec2.py", line 3, in Exec
exec(exp, global_vars, local_vars)
File "<string>", line 1, in <module>
NameError: name 'timeNow' is not defined
我看不出你的代码有任何问题,可能是pycharm错误。我的(2018.2)没有做到这一点。可能尝试更新到最新版本?此类问题通常来自过时的pyc文件或仍在运行过时版本的模块的解释器。旁注:
time
不是一个好的变量名,因为它与标准库模块冲突,可能会导致意外的重新分配->意外。
from datetime import datetime, timedelta
def print_users(user_dict, days):
time = datetime.now()
for key in user_dict:
if time - timedelta(days=days) > user_dict[key]:
print(key)
def run():
users_dict = get_user_dict
print_users(users_dict, args.days)
print("Finish")
if __name__ =='__main__':
run()