在Python中如何去除换行符?

3
我正在开发一个简单的Python游戏,玩家需要猜测单词中包含的字母。问题是,当我打印一个单词时,它会打印出末尾的\n。
经过我的初步研究,我认为我需要使用r.string()来删除它。但是,我不确定它应该放在哪里。
很抱歉这个问题比较新手。
import random
with open('wordlist.txt') as wordList:
    secretWord = random.sample(list(wordList), 1)

print (secretWord)
3个回答

8
其他回答更好,但我认为你还可以使用以下方法:

其他答案可能更好,但您也可以使用以下方法:

secretWord = secretWord.replace('\n', ''))

编辑:原作者表明secretWord是一个列表,而不是字符串。

如果secretWord是一个字符串列表,则使用以下方式:

secretWord = [each.replace('\n', '') for each in secretWord]

嗯,出现了一个错误-- AttributeError: 'list' object has no attribute 'replace'。 - jamyn
为了使用列表,我修改了原始帖子。 - Kevin D

8
您可以使用.strip()来删除空格:
secret_word = random.choice(wordList).strip()

谢谢,但我出错了-- TypeError:类型为'_io.TextIOWrapper'的对象没有len()。 - jamyn
嗯,出现了一个不同的错误--AttributeError: 'list'对象没有'strip'属性 - jamyn
@JohnJamin:使用list(wordList)而不是wordList,它就可以工作了。 - Blender
secretWord = random.sample(list(wordList.readlines()), 1).strip()返回一个语法错误... - jamyn

1
text = open("your file","r").read().replace('\n','')
x = set(text.split(" "))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接