2017-02-11 1 views
0

Ich habe versucht, einige Eingaben zusammen, um einen Dateinamen zu bilden, aber sie scheinen Leerzeichen dazwischen zu haben, habe ich versuchte, die Leerzeichen mit Ersetzen zu entfernen und beizutreten. aber es sagt Join ist nicht definiert, und 'Tupel' Objekt hat kein Attribut 'ersetzen'. bitte helfen mein Code:Versuchen, Leerzeichen aus einer Zeichenfolge zu entfernen, aber ein Fehler zu bekommen 'Tuple' -Objekt hat kein Attribut 'ersetzen'

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) 

Antwort

1

Wie die , mit einem Tupel erzeugt, und was Sie brauchen, ist eine Zeichenfolge, sollten Sie Folgendes tun:

Wechsel:

fnws = name,".",pictype 

zu :

fnws = name, + "." + pictype 

Jetzt ist fnws eine String-Variable so Sie können den Ersatz darauf anwenden.

Bedenken Sie auch die Streifenmethode zu verwenden, mit Streifen Sie alle Zeichen entfernen können Sie möchten, einfach zu schreiben (Standard whitespcace ist das Entfernen):

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

string.strip (s [, Zeichen])

Geben Sie eine Kopie der Zeichenfolge mit führenden und abschließenden Zeichen entfernt zurück. Wenn Zeichen weggelassen werden oder Keine, werden Leerraumzeichen entfernt. Wenn angegeben und nicht None, müssen Zeichen eine Zeichenfolge sein; Die Zeichen in der Zeichenfolge werden von beiden Enden der Zeichenfolge entfernt, die Methode aufgerufen wird.

0

Wenn Sie Variablen mit führenden und/oder nachgestellten Leerzeichen haben, können Sie die Funktion strip aufrufen. Sie verwenden es, wie diese

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

Weitere Informationen über die Leistenfunktion können Sie thankyou hier strip doc

+0

so viel gehen !!! – Gurneyguy

+0

Wissen Sie, warum ich die Datei nicht öffnen kann? Ich habe versucht, Adobe, Microsoft Edge und Word zu verwenden, aber beide funktionieren nicht. (Übrigens versuche ich ein Schildkrötenbild zu speichern) – Gurneyguy

Verwandte Themen