Python 连接两个字符串不起作用

Python 连接两个字符串不起作用,python,python-3.x,text,Python,Python 3.x,Text,我有以下代码: name=input("What do you want to call your file?") print(name) name=name+".txt" print(name) 当我运行它时,我得到: <whatever was input> .txt 以及: 但是没有运气 奇怪的是,当我在shell中运行它时,它可以运行l,而且它可以在python 3.1中运行,但不能在3.4中运行。在末尾删除换行符: name = input("Q?").rstrip('

我有以下代码:

name=input("What do you want to call your file?")
print(name)
name=name+".txt"
print(name)
当我运行它时,我得到:

<whatever was input>
.txt
以及:

但是没有运气


奇怪的是,当我在shell中运行它时,它可以运行l,而且它可以在python 3.1中运行,但不能在3.4中运行。

在末尾删除换行符:

name = input("Q?").rstrip('\n') + "txt"
或者这样做:

# thanks to Delirious Lettuce: f'{input("Filename?").rstrip('\n')}.txt'.replace("\n","") 
name = f'{input("Filename?")}.txt'.replace("\n","")
print(name)
然而,令人困惑的是,input()通常会删除关闭其输入的返回


我想知道你为什么得到一个。。。对我来说,
name=f'{input(“Filename?”)}.txt'
起作用,如果我输入“tata”并点击return,
name
则显示为
'tata.txt'

无法复制…它与预期一样工作如果您使用shell,它对我在那里起作用。在命令提示符下(当我双击程序时),我发现了问题。在我的问题中添加了这一点。在另一台计算机上试用,没有问题。不知道发生了什么事。它使用的是Windows 7 Professional,32位,稍后将在它引发错误的那一个上发布。@Delirious莴苣感谢捕获-似乎我在pyfiddle.ios中测试它时使用了rstrip(),但没有\n添加到我的问题中,它在shell中工作。是否可能不删除命令提示符中的\n?使用code
filename=exec(“输入('filename'))+'.txt')
,我得到错误:
file=open(filename,“w”)
类型错误:无效文件:无
替换
不工作,与问题中的问题相同。仍然在shell中工作。@artemspowl您误用了exec。如果Python函数不隐式返回某些内容,则它们总是返回
None
。Exec不返回任何内容。所以它不返回任何值。仔细阅读第一段。
input("What do you want to call your file?")
+=".txt"
name = input("Q?").rstrip('\n') + "txt"
# thanks to Delirious Lettuce: f'{input("Filename?").rstrip('\n')}.txt'.replace("\n","") 
name = f'{input("Filename?")}.txt'.replace("\n","")
print(name)