Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Python3中的文本文件中获取和创建自定义变量?_Python_Python 3.x_Eval - Fatal编程技术网

如何从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']

访问它。这似乎是个更好的主意,谢谢。我要试试看!这似乎是个更好的主意,谢谢。我要试试看!