Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 写入外部模块中的列表_Python_List_Module - Fatal编程技术网

Python 写入外部模块中的列表

Python 写入外部模块中的列表,python,list,module,Python,List,Module,所以我正在开发一个discord机器人,它有一些命令,比如meme命令、carast命令等等,因为我还在学习python,所以我还没有开始使用数据库,将所有的barast存储在一个单独的py文件中,然后将其作为模块导入到机器人文件中 我想创建另一个.py文件来导入列表并附加到它,而不是打开py文件并自己编辑它。。。下面是我现在编写的代码,即使它执行时没有任何错误,列表模块也不会追加 from roasts_list import roast adder_value = input("

所以我正在开发一个discord机器人,它有一些命令,比如meme命令、carast命令等等,因为我还在学习python,所以我还没有开始使用数据库,将所有的barast存储在一个单独的py文件中,然后将其作为模块导入到机器人文件中

我想创建另一个.py文件来导入列表并附加到它,而不是打开py文件并自己编辑它。。。下面是我现在编写的代码,即使它执行时没有任何错误,列表模块也不会追加

from roasts_list import roast

adder_value = input("What would you like to add? \n")
roast.append(adder_value)
模块是烘焙列表,列表名称为烘焙


有什么解决方案吗?

您可以将列表存储在文本文件中,而不是创建用于存储列表的外部python模块

adder\u value=input(“您想添加什么?\n”)
#将烘焙添加到文本文件中
carast_file=open(“carast.txt”、“a”)
烘焙文件。写入(adder_value+“\n”)#将烘焙添加到文本文件中
烘焙文件。关闭()
#烤肉
carast_file=open(“carast.txt”、“r”)
carast_list=carast_file.read().splitlines()#返回文本文件中所有烘焙的列表
烘焙文件。关闭()

使用此方法,您可以将烘焙保存在文本文件中,并相应地使用它们。

您可以将其存储在文本文件中,而不是创建用于存储列表的外部python模块

adder\u value=input(“您想添加什么?\n”)
#将烘焙添加到文本文件中
carast_file=open(“carast.txt”、“a”)
烘焙文件。写入(adder_value+“\n”)#将烘焙添加到文本文件中
烘焙文件。关闭()
#烤肉
carast_file=open(“carast.txt”、“r”)
carast_list=carast_file.read().splitlines()#返回文本文件中所有烘焙的列表
烘焙文件。关闭()

使用此方法,您可以将烘焙保存在文本文件中,并相应地使用它们。

同意Devansh。如果您使用您的方法将它们保存在.py文件中的列表变量中,则意味着您的所有值将只存储在内存中,并且一旦程序停止,所有值都将丢失。如果要持久存储这些值,最简单的方法是将它们存储在文件中

除了上面的Devansh方法之外,我还建议使用上下文管理器打开文件,并添加try/except来处理在创建文件之前尝试从文件中获取烘焙,从而使其在运行程序中更加稳定

#将烘焙添加到文本文件
def add_烘焙():
加法器\ U值=输入(“您想添加什么?”)
打开(“carast.txt”、“a”)作为烘焙文件:
烘焙文件。写入(adder_value+“\n”)#将烘焙添加到文本文件中
#烤肉
def get_烘焙():
尝试:
打开(“carast.txt”、“r”)作为烘焙文件:
返回文件.read().splitlines())
除FileNotFoundError为e外:
打印(“还没有烤肉”)
加烤
打印(get_roasts())

同意Devansh的意见。如果您使用您的方法将它们保存在.py文件中的列表变量中,则意味着您的所有值将只存储在内存中,并且一旦程序停止,所有值都将丢失。如果要持久存储这些值,最简单的方法是将它们存储在文件中

除了上面的Devansh方法之外,我还建议使用上下文管理器打开文件,并添加try/except来处理在创建文件之前尝试从文件中获取烘焙,从而使其在运行程序中更加稳定

#将烘焙添加到文本文件
def add_烘焙():
加法器\ U值=输入(“您想添加什么?”)
打开(“carast.txt”、“a”)作为烘焙文件:
烘焙文件。写入(adder_value+“\n”)#将烘焙添加到文本文件中
#烤肉
def get_烘焙():
尝试:
打开(“carast.txt”、“r”)作为烘焙文件:
返回文件.read().splitlines())
除FileNotFoundError为e外:
打印(“还没有烤肉”)
加烤
打印(get_roasts())