我希望能够在文件中使用列表将代码“上传”到程序中。
NotePad文件:
savelist = ["Example"]
namelist = ["Example2"]
Python代码:
with open("E:/battle_log.txt", 'rb') as f:
gamesave = savelist[(name)](f)
name1 = namelist [(name)](f)
print ("Welcome back "+name1+"! I bet you missed this adventure!")
f.close()
print savelist
print namelist
我希望这是输出:
Example
Example2
答案 0 :(得分:0)
看起来您正在尝试序列化程序状态,稍后重新加载它!您应该考虑使用数据库,甚至只考虑使用pickle
import pickle
savelist = ["Example"]
namelist = ["Example2"]
obj_to_pickle = (savelist, namelist)
with open("path/to/savefile.pkl", 'wb') as p:
pickle.dump(obj_to_pickle, p)
# save data
with open('path/to/savefile.pkl', 'rb') as p:
obj_from_pickle = pickle.load(p)
savelist, namelist = obj_from_pickle
# load data
答案 1 :(得分:0)
有几种选择:
如果您无法控制谁将提供该文件,前两个是有风险的,因为有人可以在输入中插入恶意代码。
答案 2 :(得分:0)
只要文件与您的程序所在的文件夹在同一个文件夹中,您就可以直接导入它。有点像这样:
import example.txt
或:
from example.txt import*
然后通过两种方式之一访问它。第一个:
print Example.savelist[0]
print Example.namelist[0]
第二种方式:
print savelist[0]
print namelist[0]