试图从字符串中删除空格但是收到错误说'tuple'对象没有属性'replace'

时间:2017-02-11 15:21:33

标签: python python-3.x turtle-graphics

我试图将一些输入添加到一起形成一个文件名,但它们之间似乎有空格,我试图使用replace和join来摆脱空格。但它表示连接未定义,'tuple'对象没有属性'replace'。请帮忙 我的代码是:

from turtle import Turtle, Screen

    def k100():
            tsave = Turtle()
            tsavescreen = tsave.getscreen()
            pictype = input("What type of photo would you like this to be saved as? (png, jpg, pdf, ...) ")
            name = input("What would you like to call your masterpiece? ")
            fnws = name,".",pictype #fnws means file_name_with_spaces
            join(fnws)
            fnns = fnws.replace(" ", "") #fnns means file_name_no_spaces
            tsavescreen.getcanvas().postscript(file=fnns, colormode='color')
            #open("C:\Users\GURNHH\OneDrive - Rugby School\ICT\Python").close()
            #open("pythontest11.pdf").close()
            print("It has been saved as: ", fnns)
            print("It has been saved as: ", fnns)

2 个答案:

答案 0 :(得分:1)

使用,创建一个元组,你需要的是一个字符串,你应该执行以下操作:

变化:

fnws = name,".",pictype

要:

fnws = name, + "." + pictype

现在,fnws是一个String变量,因此您可以对其应用替换。

另外,考虑使用strip方法,使用strip你可以删除你想要的任何字符,只需写入(默认是删除whitespcace):

fnws = (name, + "." + pictype).strip()
  

string.strip(s [,chars])

     

返回带有前导和尾随字符的字符串副本   除去。如果省略chars或None,则为空白字符   除去。如果给定而不是None,则字符必须是字符串;那些角色   在字符串中将从字符串的两端剥离掉   调用方法。

答案 1 :(得分:0)

如果变量具有前导和/或尾随空格,则可以调用strip函数。你像这样使用它

fnws = "{}.{}".format(name.strip(),pictype.strip())

有关条带功能的更多信息,请访问strip doc