[英]python3: How to append a list to an empty list in an external python file?
有一个列表-
#main_file.py
f = ['foo','bar']
我想 append 到外部 python 文件中的空列表。
外部文件已经有一个空列表g
#external_file.py
g = []
到目前为止,我已经在主文件中尝试过这个 -
#main_file.py
h = open("external_file.py", "a")
g.append(f)
h.close()
但它没有用
你可以做
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 = []"
是文本,所以您需要exec()
它会将其转换为g = []
。
在需要将 f 列表扩展到 g 并用新的扩展列表删除原来的"g = []"
并将其写回文件之后。
您可以尝试导入第一个external_file.py
,然后导入 append 来自main_file.py
的列表f
#main_file.py
import external_file as externalFile
f = ['foo','bar']
externalFile.g.append(f)
#print(externalFile.g)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.