如何从Python3中的文本文件中获取和创建自定义变量?
因此,我正在制作一个“改进”的命令提示符程序(希望如此)。如何从Python3中的文本文件中获取和创建自定义变量?,python,python-3.x,eval,Python,Python 3.x,Eval,因此,我正在制作一个“改进”的命令提示符程序(希望如此)。 在我的程序中,我希望它从文本文件中获取所有行。 文本文件将包含如下所示的行: desktop=C:\Users\%username%\Desktop scripts=D:\Scripts 我想让我的程序做的是通读它,并创建新的变量,例如: desktop = "C:\Users\%username%\Desktop" scripts = "D:\Scripts" 我知道可能有更好更安全的方法,但现在,我想这样做。以下是我到目前为止的
在我的程序中,我希望它从文本文件中获取所有行。
文本文件将包含如下所示的行:
desktop=C:\Users\%username%\Desktop
scripts=D:\Scripts
我想让我的程序做的是通读它,并创建新的变量,例如:
desktop = "C:\Users\%username%\Desktop"
scripts = "D:\Scripts"
我知道可能有更好更安全的方法,但现在,我想这样做。以下是我到目前为止的代码(它不起作用):
如您所见,我尝试使用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']
访问它。您可以改为使用字典吗
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']
访问它。这似乎是个更好的主意,谢谢。我要试试看!这似乎是个更好的主意,谢谢。我要试试看!