尝试使用用户输入将列表另存为文件,但继续获得额外的一行,显示“无”

时间:2019-04-24 23:35:26

标签: python-3.x

我创建了一个函数来写入保存为txt文件的列表。当我运行该程序时,在用户输入下,我得到一行“无”。我不确定为什么或如何解决它。

def list_1_file(list_1):
    outfile = open('shape_lists.txt','a')
    for v in list_1:
        outfile.writelines(str(v))
        outfile.writelines('\n')
    outfile.close()
    print('Your list has been saved as a file named shape_lists.txt')

file_2 = input(print('Would you like to save your shape information as a' 'file(y or n)? '))
if file_2 == 'y':
    file_utilities.list_2_file(list_2)
else: 
    print('Okay, I will not save this data as a file.')

我希望该行在实际问题之后允许我回答,而无需添加“无”

输出

  

您想将形状信息另存为文件(y或n)吗?   Noney ~~~~~ y是用户输入的,但是“ none”总是填充。您的   列表已保存为一个名为shape_lists.txt的文件

1 个答案:

答案 0 :(得分:0)

因为这个原因:

input(print('Would you like to save your shape information as a' 'file(y or n)? '))

print函数将打印出“ 您要... ”,然后返回None。然后,该None传递给input,有效地创建了input(None),它会打印出“ None ”。

只需将提示直接传递到input()函数,因为“ 如果存在提示参数,则将其写入标准输出而没有尾随换行符。”:

input('Would you like to save your shape information as a' 'file(y or n)? ')