如何从Python3中的文本文件中获取和创建自定义变量?

2024-10-04 07:26:56 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我正在制作一个“改进”命令提示符的程序(希望如此)。
在我的程序中,我希望它从文本文件中获取所有行。
文本文件将包含如下行:

desktop=C:\Users\%username%\Desktop
scripts=D:\Scripts

我想让我的程序做的是通读它,并创建新的变量,例如:

desktop = "C:\Users\%username%\Desktop"
scripts = "D:\Scripts"

我知道可能有更好更安全的方法,但现在,我想这样做。这是我目前的代码(不起作用):

with open("custom_shortcuts.txt","r") as f:
    customShortcuts = [x.strip('\n') for x in f.readlines()]
for i in customShortcuts:
    parts = i.split("=")
    varName = str(parts[0])
    varValue = str(parts[1])
    eval("varName = varValue")

如您所见,我尝试使用eval(),但失败了


Tags: in程序forevalscriptsusersparts文本文件
1条回答
网友
1楼 · 发布于 2024-10-04 07:26:56

你能改用字典吗

text = r'''desktop=C:\Users\%username%\Desktop
scripts=D:\Scripts'''

var = dict(line.strip().split('=') for line in text.splitlines())
print(var)
{'desktop': 'C:\\Users\\%username%\\Desktop', 'scripts': 'D:\\Scripts'}

动态地将变量注入到命名空间中不是一个好的做法。如果您想要desktop的值,您可以作为var['desktop']访问它

相关问题 更多 >