2017-02-11 1 views
0

Я попытался добавить несколько входов вместе, чтобы сформировать имя файла, но у них, кажется, есть промежутки между ними, у меня есть попытался избавиться от пробелов с помощью replace и join. но он говорит, что соединение не определено, а объект «tuple» не имеет атрибута «replace». пожалуйста, помогите мой код:Попытка удалить пробелы из строки, но получить сообщение об ошибке «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) 

ответ

1

Как с помощью , создает кортеж, и то, что вам нужно, это строка, вы должны сделать следующее:

Изменить:

fnws = name,".",pictype 

К :

fnws = name, + "." + pictype 

В настоящее время fnws является переменной String, поэтому вы можете применить замену на нем.

Кроме того, рассмотреть возможность использования метода полосы с полосой вы можете удалить любые символы, которые Вы хотели бы, чтобы просто написать (по умолчанию является удаление whitespcace):

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

string.strip (s [, chars])

Верните копию строки с ведущими и завершающими символами удален. Если символы опущены или None, пробельные символы удаляются . Если задано, а не None, символы должны быть строкой; символы в строке будут удалены с обоих концов строки, вызываемой методом .

0

Если переменные имеют ведущие и/или конечные пробелы, вы можете вызвать функцию полосы. Вы можете использовать его как этот

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

Для получения дополнительной информации о функции полосового вы можете пойти здесь strip doc

+0

большое спасибо так много !!! – Gurneyguy

+0

Знаете, почему я не могу открыть файл? Я пробовал использовать adobe, Microsoft edge и word, но не работает. (Кстати, я пытаюсь спасти рисунок с черепахой) – Gurneyguy

Смежные вопросы