<p><strong>正在加载</strong></p>
<p>{1>当你存储一行新的文本时,你应该写一个新的列表。还请注意,当使用<code>with</code>时,不需要调用<code>f.close()</code>,因为它会在不再需要时为您关闭文件。在</p>
<pre class="lang-py prettyprint-override"><code>with open(str(epoch_time) + '_intercom_Users.txt', 'w') as f:
for item in get_users_list:
f.write(f"{item}\n")
</code></pre>
<p>这将允许分别读入每个项目,而不必在以后尝试拆分字符串。在</p>
<p>然后当你读的时候,每一行都有一个列表的字符串表示。你需要做一个文字评估和删除你的新行字符。你可以在一个列表理解中做到这一点。在</p>
^{pr2}$
<p>似乎您不需要<code>\n</code>,因为我们先添加它,然后再删除它,但这是一种使每个项目保持独立的简单方法。如果没有,您将需要添加一个分隔符并在单行中读取,然后执行<code>.split()</code>。使用此方法可以让您轻松地读取静态数据,也可以轻松地读回数据。在</p>
<hr/>
<p><strong>改用Pickle</strong></p>
<p>正如其他人所指出的,这并不是一个很好的方法来实现数据序列化,而这正是您正在做的。Python预装了<a href="https://docs.python.org/3/library/pickle.html?highlight=pickle#module-pickle" rel="nofollow noreferrer">^{<cd6>}</a>,它可以按原样序列化和存储任何Python数据类型,然后读回它。在</p>
<p>你可以这样使用它:</p>
<pre class="lang-py prettyprint-override"><code>import pickle
def get_users():
counter = 0
for i in users_intercom:
get_users_list.append(users_intercom[counter].split())
counter = counter + 1
if counter > 100:
with open(str(epoch_time) + '_intercom_Users.pickle', 'wb') as f:
pickle.dump(get_users_list, f)
break
</code></pre>
<p>然后再读一遍:</p>
<pre class="lang-py prettyprint-override"><code>with open('1556640109_intercom_Users', 'rb') as f:
x = pickle.load(f)
</code></pre>