python 编辑不同文件中的列表

nlejzf6q  于 2023-01-29  发布在  Python
关注(0)|答案(1)|浏览(99)

我试图在python django中编辑另一个文件中的列表。我有一个名为www.example.com的文件和一个名为www.example.com的文件。 models.py and a file called details.py ,
details.py:

DATA = [
{'height': '184', 'width': '49'},
{'height': '161', 'width': '31'},
{'height': '197', 'width': '25'},
{'height': '123', 'width': '56'},
{'height': '152', 'width': '24'},
{'height': '177', 'width': '27'},
 ]

def edit_list(h,w):
    for info in DATA:
        if info['height'] == h:
           info['width'] = w
    return True
models.py:

from abc.details import edit_list

height = '161'
new_width = '52' 
update_data = edit_list(height, new_width) #this doesn't work, when I check the file nothing changes in the list :/

实现这一目标的最佳方法是什么?
(我不想把这个列表导入到DB中,只是更新那里的宽度,我想在文件本身内部更新宽度,删除www.example.com文件并在每次编辑时使用python创建一个新的文件是不可能的,因为几乎没有其他函数也一直从列表中获取数据。details.py file and creating a new one using python whenever an edit takes place is not possible because few other functions are taking data from the list as well all the time.

rkttyhzu

rkttyhzu1#

你需要缩进你的语句info['width'] = w,否则你将得不到你期望的结果。更重要的是,你需要取消缩进return语句。此时,你在执行完for语句的第一行后从函数返回。其余的行永远不会被执行。

def edit_list(h,w):
    for info in DATA:
        if info['height'] == h:
            info['width'] = w
    return True

相关问题