Python 3.x python3:如何将一个列表附加到外部python文件中的空列表中?

Python 3.x python3:如何将一个列表附加到外部python文件中的空列表中?,python-3.x,Python 3.x,有一张单子- #main_file.py f = ['foo','bar'] 我希望附加到外部python文件中的空列表。 外部文件已经有一个空列表 到目前为止,我已经在主文件中尝试了这个- #main_file.py h = open("external_file.py", "a") g.append(f) h.close() 但是它不起作用您可以尝试导入第一个外部文件.py,然后从主文件.py中附加列表f 您可以尝试导入第一个外部_file.py,然后从主_file.py追加列表f 你能

有一张单子-

#main_file.py
f = ['foo','bar']
我希望附加到外部python文件中的空列表。 外部文件已经有一个空列表

到目前为止,我已经在主文件中尝试了这个-

#main_file.py
h = open("external_file.py", "a")
g.append(f)
h.close()

但是它不起作用

您可以尝试导入第一个外部文件.py,然后从主文件.py中附加列表f


您可以尝试导入第一个外部_file.py,然后从主_file.py追加列表f

你能行

import re

with open("external_file.py", "r+") as h:
    stmt = h.read()
    exec(stmt)
    val_name = stmt[:stmt.find("=")].strip()
    eval(val_name).extend(f)
    h.seek(0)
    h.write(re.sub("\[.*\]", str(eval(val_name)), stmt))
因为您正在读取一个文件,所以语句g=[]是文本,所以您需要执行它,它将被转换为g=[]。 需要将f列表扩展到g,并使用新的扩展列表删除原始g=[],然后将其写回文件。

您可以这样做

import re

with open("external_file.py", "r+") as h:
    stmt = h.read()
    exec(stmt)
    val_name = stmt[:stmt.find("=")].strip()
    eval(val_name).extend(f)
    h.seek(0)
    h.write(re.sub("\[.*\]", str(eval(val_name)), stmt))
因为您正在读取一个文件,所以语句g=[]是文本,所以您需要执行它,它将被转换为g=[]。
在需要将f列表扩展到g并使用新的扩展列表删除原始的g=[]并将其写回文件后。

出现一个错误,显示passwordManagerList.py文件,第100行,在passEnter g.extendpassList名称“g”未定义您可以尝试现在我将文件模式更改为r+和h.writere.sub\[.\],g,stmt to h.writere.sub\[.\],strg,stmtg是文件中定义的列表中的名称,如果是不同的名称,请输入名称而不是gI编辑代码,只要原始列表包含的文件有效,就在列表名称上动态运行!但是当我把它放在循环中时,它抛出了语法错误有一个错误,说文件passwordManagerList.py,第100行,在passEnter g.extendpassList名称“g”没有定义你可以试试现在我把文件模式改为r+和h.writere.sub\[.*],g,stmt改为h.writere.sub\[.*],strg,stmtg是文件中定义的列表中的名称,如果它是不同的名称,请输入名称而不是gI编辑的代码,只要原始列表包含的文件有效,就可以在列表名称上动态运行!但是当我把它放在loop上时,它抛出了语法错误。我尝试了这个,但它没有编辑外部文件中的代码。我尝试了这个,但它没有编辑外部文件中的代码
import re

with open("external_file.py", "r+") as h:
    stmt = h.read()
    exec(stmt)
    val_name = stmt[:stmt.find("=")].strip()
    eval(val_name).extend(f)
    h.seek(0)
    h.write(re.sub("\[.*\]", str(eval(val_name)), stmt))