gpt4 book ai didi

python - 为什么 `exec()` 不在脚本中工作而是交互工作?

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:19 25 4
gpt4 key购买 nike

我正在将凭据文件读入字符串,然后在该字符串上运行 exec() 以使各种凭据可用作变量。凭据文件包含如下文本:

customer_number = "9999999999"
PIN = "9999999999"
passcode = "9999999999"
account_code = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

这在交互式 Python 中有效(变量变得可用),但在脚本中失败。这是为什么?我怎样才能让它工作?

with open(filepath_credentials, "r") as file_credentials:
credentials = file_credentials.read()
exec(credentials)
print(customer_number)

最佳答案

您需要将 globals()(也可能是 locals())集合传递给 exec():

exec(credentials, globals())

这允许 exec() 修改脚本的全局变量。 Python 交互式解释器的工作方式略有不同。

关于python - 为什么 `exec()` 不在脚本中工作而是交互工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com