[英]Use, in another project, a variable saved in a project (python)
我有一個名為project1的項目,我在其中獲取了一個 big.txt 文件(大約 1 GB)。 我使用以下代碼制作了一個列表,其中包含文本的每一行作為元素:
txt = open('<path>', 'r', encoding="utf8")
lista = list(txt)
然后我編輯列表中的項目,這對我的問題並不重要。
我需要在另一個項目( project2 )中使用變量lista ,但我不想通過以下方式導入它
from project1 import lista
因為這樣做我必須運行project1中的所有代碼才能獲取 .txt 文件中的文本並編輯列表。
所以我的目標是使用lista而不必運行需要時間的代碼,因為lista總是相同的。
在項目 1
file_text = open('<path>\\lista.txt', 'w', encoding="utf8")
lista = ['<string_1>', '<string_2>', ..., '<string_n>']
file_text.write(f'{lista}')
file_text.close()
在項目 2
file_text = open('<path>\\lista.txt', 'r', encoding="utf8")
list_as_string = file_text
def string_to_list(input_string):
#way to transform the list_as_string into the original "lista" variable, which is a list
#return list
string_to_list(list_as_string)
我可以建議您使用txt.readlines()
而不是list(txt)
來獲取行,除非文件中的每一行都包含一個字符。 在 Json/Pickle 中; dump/dumps
dumps 使您能夠將 object 保存到打開的文件中(您可以將列表保存到文件中)或分別獲取將保存在可寫文件對象中的源/字節; load/loads
允許從相應的轉儲中恢復內容。 就個人而言,我只會使用文件的路徑創建一個新列表,或者將代碼封裝在另一個腳本中,以降低導入速度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.