Python - 打开文件 - readline - 列表 - 转换为字符串

标签 python string list join readline

问题/问题详情

我有一个文件 (blah.txt),其内容(列表)如下所示:

Key1 = ['A','B','C','D','E','F','G','H','I','J','K', 'L','M','N','O','P','Q','R','S','T','U','V','W','X ','Y','Z','']

在一个简单的 python 文件(称为 CAT.py)中,我执行以下命令:

infile = open('blah.txt', 'r')
Key1 = infile.readline()
infile.close()
Key1 = Key1.rstrip('\n')
print(Key1)

Key1 = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' ']

print(''.join(Key1))

Key1 = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' '] <---- THIS IS WHAT I DO NOT WANT

但是……

如果在一个单独的简单 python 文件(称为 DOG.py)中,我在列表上执行以下命令:

Key1 = ['A','B','C','D','E','F','G','H','I','J','K', 'L','M','N','O','P','Q','R','S','T','U','V','W','X ','Y','Z','']

打印(键1)

['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ' ']

打印(''.join(Key1))

ABCDEFGHIJKLMNOPQRSTUVWXYZ <---- THIS IS WHAT I WANT

问题/问题

我最终想要的输出看起来像“ABCDEFGHIJKLMNOPQRSTUVWXYZ”,但对于我的生活,我无法弄清楚如何读取文件列表,然后将该列表转换为单个字符串。谁能告诉我我哪里出错了,并告诉我一些可以解决我的问题的代码?

最佳答案

在应用join 之前,您必须将string 转换为list

首先我们使用partition来获取=之后的部分。然后 ast.literal_eval 将从字符串中创建一个列表。

import ast
line = "Key1 = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' ']"
data = line.partition('=')[2].strip()
elements = ast.literal_eval(data)
print(''.join(elements))

附加:您可以在打开文件的上下文中使用 with。如果您这样做,Python 将为您关闭该文件。

with open('blah.txt', 'r') as infile:
    line = infile.readline()

正如 jamylak 指出的:如果您控制文件,请不要像这样存储数据。如您所见,这并不容易处理。您可以将数据存储和读取为 JSON。

关于Python - 打开文件 - readline - 列表 - 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27394879/

相关文章:

python - 我的 python 多处理程序按顺序运行工作程序

Python - 正则表达式 - 如何只找到四个字母的单词?

python - 在 Ubuntu 上运行 Python 机器人(找不到文件或目录?)

python - python 中搜索字符串和字符串列表之间最高百分比 Levenshtein 距离的最快方法是什么?

python - 用字符串枚举列表会给出错误的结果

c# - 如何在列表中搜索在其任何属性值中包含子字符串的元素?

ruby - 如何根据给定的字符顺序对字符串进行排序?

python - 您可以将选择器列表写入 SQL 中的一列吗?

c++ - C++中如何获取字符串的最后一个字符

Java - 使用 SQL 语法连接列表的 API