我是编程和学习python的新手。我在python中尝试字典时遇到困难。 我有一个带键的普通字典,值为空字符串:
dict = {'Project_path':''},
'Target_files':'',
'default_ws':''}
我正在更新键的值,如下所示:
dict['project_path'] = 'Pass'
但我想创建一个dict,我不必使用长按键;相反,我可以将这些键映射到数字,这样如果我想更新一个字典,我可以这样做:
dict = {1:{'Project_path':''},
2:{'Target_files':''},
3:{'default_ws':''}}
dict['1'] = 'pass'
它应该将'project_path'
的值更新为'pass'
更新值后,我必须将其写入文件
有办法吗?
答案 0 :(得分:0)
欢迎使用Python编程!这里几件事情:首先,使用dict
作为变量名称并不是一个好主意,因为这是整个字典对象类的关键字。你可以使用类似my_dict
之类的东西。
其次,当您输入密钥编号然后调用dict['1'] = 'pass'
时,如果您已将整数1声明为密钥,则会在密钥中查找字符串“1”。让我解释一下:
'1'是一个字符串
1是整数。
在python中,这是两个非常不同的东西,不能混在一起。这就是价值不会更新的原因。如果您要说dict[1] = 'pass'
,那应该对您有用,它应该更新值。请注意,虽然这将覆盖作为当前值的整个字典并将其替换为“pass”,如果您只想更改字典键,请使用
dict[1]['Project_path'] = 'pass'
。
然而,这对我来说似乎是多余的。有点不清楚你为什么要在那里映射整数(可能是为了循环并更改值),但是如果你只想要与它相关的整数,你可以创建和这样的字典数组:
my_array = [{"Project_path": ''}, {"Target_files":''}, {default_ws":''}]
然后,您可以通过从0开始的索引来访问它们。my_array[0]
是{"Project_path":''}
。同样,有点不清楚你为什么要将整数映射到这些序列,所以它对我来说没有意义,因为这有点多余。
最后,写入文件。那里有很多网页,因为在阅读和编写文件时有很多选择(例如this one),但这里是短版本。
with open('your_filepath.txt', 'w') as file: #note this will overwrite the current file, see the page I linked.
file.write(my_array[0]) #or whatever you want to write to it.
就这么简单,但就像我说的那样,看看那个页面,看看你的选择是什么,并为你选择最好的选择。希望这很有用,可以帮助你入门。