打印到一行

时间:2017-03-15 00:23:01

标签: python string file-io

我正在开发一个python项目,最近完成了一个带有一个小异常的赋值。最后一部分是打印一个字符串,在我的生活中,它会在多行上打印。

我不想以任何方式作弊,但是有人可以帮助我找到最终打印只能达到1行的解决方案吗?

import random

def loadFile(fileName):
    file_variable = open(fileName, 'r')
    stringList = file_variable.readlines()
    file_variable.close()
    return stringList


def main():
    list_1 = loadFile('names.txt')
    list_2 = loadFile('titles.txt')
    list_3 = loadFile('descriptors.txt')

print(random.choice(list_2), random.choice(list_1), random.choice(list_1), ' the ', random.choice(list_3))

main()

1 个答案:

答案 0 :(得分:2)

file.readlines()返回包含换行符的行列表。 您需要使用str.stripstr.rstrip

从字符串中删除换行符
print(
    random.choice(list_2).rstrip(),  # rstrip('\n') if you want keep trailing space
    random.choice(list_1).rstrip(),
    random.choice(list_1).rstrip(),
    'the',
    random.choice(list_3).rstrip()
)

或更改loadFile

def loadFile(fileName):
    with open(fileName) as f:
        return [line.rstrip() for line in f]