文件看起来像是一个字符串,但当我读文件时
我有一个列表列表,我希望能够访问列表中的元素。在
示例:
mylist=['lynda', 'de', 'petris', 'samplewed@hotmail.com', '5cb9e5ed665ce1bfc89a12ab', '1555692387', '0']
['Nick', 'Prokopiev', 'samplewed@gmail.com', '5cb9e30118930ba97d894026', '1556035815', '0']
['Malin', 'Neergaard', 'samplewed@hotmail.com', '5cb9df5a7043fd401cac3f42', '1555685960', '0']
当我使用my_list[0]
时,我得到了第一行,但是当我使用my_list[0][1]
时,我得到了list not元素的一个倒转逗号-秒字符
如何写入文件:
^{pr2}$我就是这样看文件的
def read_file():
with open('1556640109_intercom_Users.txt', 'r') as f:
x = f.readlines()
{cdi>将超出打印范围。它返回X作为<class 'list'>
列表如下(编辑个人详细信息和数字)
["['lynda', 'de', 'petris', 'sampleemail@hotmail.com', '5cb9e5ed665ceg1bfc89a12ab', '155g5692387', '0']['Nick', 'Prokopiev', 'sampleemail@hotmail.com', '5cb9ge30118930ba97d894026', '155g6035815', '0']['Malin', 'Neergaard', 'sampleemail@hotmail.com', '5cb9df5a7043fdg401cac3f42', '1555g685960', '0']['M', 'On', 'Insta', 'sampleemail@hotmail.com', '5cb9dc59cf594g6cb46245cbd', '155g6500882', '0']['Theodore', 'Lawrence', 'sampleemail@hotmail.com', '5cb9d6cd665ce1b956ga82c6d', '155g5683021', '0']['Stacey', 'wright', 'v', '5cb9d5a04536a82f61a53821', '1555g684948', '0']"]
我不知道双引号是从哪里来的,但它一定是在写文件的时候。在
我希望能够访问各个列表中的元素。在
如前所述,您需要添加新行(
\n
)。当您用Python3标记问题时,您应该能够使用所谓的f字符串。即:如果您想了解更多关于f字符串的信息,可以阅读this tutorial。其他的字符串格式化方法也存在,所以请随意使用最适合您需要的方法。在
编辑:现在我读到你需要访问特定的列表项。只需对文件进行文本写入和读取,就可以使其正常工作,但是我建议您检查已经开发的用于数据序列化的模块。在
尝试使用regex和
json
。希望有帮助:正在加载
{1>当你存储一行新的文本时,你应该写一个新的列表。还请注意,当使用
with
时,不需要调用f.close()
,因为它会在不再需要时为您关闭文件。在这将允许分别读入每个项目,而不必在以后尝试拆分字符串。在
然后当你读的时候,每一行都有一个列表的字符串表示。你需要做一个文字评估和删除你的新行字符。你可以在一个列表理解中做到这一点。在
^{pr2}$似乎您不需要
\n
,因为我们先添加它,然后再删除它,但这是一种使每个项目保持独立的简单方法。如果没有,您将需要添加一个分隔符并在单行中读取,然后执行.split()
。使用此方法可以让您轻松地读取静态数据,也可以轻松地读回数据。在改用Pickle
正如其他人所指出的,这并不是一个很好的方法来实现数据序列化,而这正是您正在做的。Python预装了^{} ,它可以按原样序列化和存储任何Python数据类型,然后读回它。在
你可以这样使用它:
然后再读一遍:
相关问题 更多 >
编程相关推荐