如何从 Python3 中的文本文件获取和创建自定义变量?
How to get and create custom variables from a text file in Python3?
所以,我正在制作一个程序(希望如此),它是一个 'improved' 命令提示符。
在我的程序中,我希望它从文本文件中获取所有行。
文本文件将包含如下所示的行:
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(),但失败了。
你能改用字典吗?
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']
.
的形式访问它
所以,我正在制作一个程序(希望如此),它是一个 'improved' 命令提示符。
在我的程序中,我希望它从文本文件中获取所有行。
文本文件将包含如下所示的行:
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(),但失败了。
你能改用字典吗?
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']
.