在使用.join时没有得到预期的输出

2024-05-16 15:30:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用.join删除括号和逗号。它在我的程序的其他地方起作用,但在这里不起作用。代码如下:

def load():
        fileName = raw_input("Please enter the name of the save file to load. Please don't enter '.txt'.")
        return open(fileName+".txt", "r")

fileToLoad = load()
fileData = fileToLoad.readlines()
code = (fileData[4])

splitcode = "".join(code)
print code
print splitcode

我得到的两个结果都是:

['Y', 'G', 'R']
['Y', 'G', 'R']

我认为第二个输出应该是:

YGR

谢谢你的帮助


Tags: the程序txtcodeloadfilename括号print
2条回答

似乎code是文本字符串“['Y', 'G', 'R']”,而不是join按预期工作所需的列表。解决这个问题的最简单方法是首先通过调用^{}code转换为一个列表,或者,如果您完全可以确定文件的内容不包含任何恶意的或格式错误的内容,则调用^{}

与其做一些像eval这样危险的事情,不如尝试将它转换成有效的JSON,然后加载它

code = code.replace("'", '"')
listified = json.loads(code)
joined = ''.join(listified)

相关问题 更多 >