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))