使用.join时没有得到我期望的输出

时间:2013-11-17 21:48:38

标签: 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

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

code似乎是文字字符串“['Y', 'G', 'R']”,而不是join按预期工作所需的列表。最简单的方法是首先通过调用ast.literal_evalcode转换为列表,或者,如果您可以绝对确定该文件的内容不包含任何恶意或格式错误,{{3} }。

答案 1 :(得分:0)

您可以尝试将其转换为有效的JSON然后加载它,而不是像eval那样做一些危险的事情。

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