Python 3.2 - Verketten und Zeichenkette formatieren Verhalten nicht verhält wie erwartet
Ich möchte erstellen Sie eine "volle" Datei-name" - variable von mehreren anderen Variablen, aber die string-Verkettung und string-format-Operationen sind nicht zu Verhalten, die Weise, die ich erwarte.
Mein code ist unten:
file_date = str(input("Enter file date: "))
root_folder = "\\\\SERVER\\FOLDER\\"
file_prefix = "sample_file_"
file_extension = ".txt"
print("")
print("Full file name with concatenation: ")
print(root_folder + file_prefix + file_date + file_extension)
print("Full file name with concatenation, without file_extension: ")
print(root_folder + file_prefix + file_date)
print("")
print("")
print("Full file name with string formatting: ")
print("%s%s%s%s" % (root_folder, file_prefix, file_date, file_extension))
print("Full file name with string formatting, without file_extension: ")
print("%s%s%s" % (root_folder, file_prefix, file_date))
print("")
Den Ausgang, wenn ich das Skript auszuführen ist:
C:\Temp>python test.py
Enter file date: QT1
Full file name with concatenation:
.txtRVER\FOLDER\sample_file_QT1
Full file name with concatenation, without file_extension:
\\SERVER\FOLDER\sample_file_QT1
Full file name with string formatting:
.txtRVER\FOLDER\sample_file_QT1
Full file name with string formatting, without file_extension:
\\SERVER\FOLDER\sample_file_QT1
Ich erwarte es zum verketten ".txt" am Ende, außer es ersetzt die ersten vier Zeichen des Strings mit Ihr statt.
Wie füge ich die extension-variable an das Ende der Zeichenfolge, anstatt Sie ersetzen die ersten n Zeichen des Strings?
Zusätzlich zu, wie zu lösen dieses problem, ich würde gerne wissen, warum ich lief in es in den ersten Platz. Was habe ich falsch gemacht/was Python 3.2 Verhalten bin ich nicht bewusst?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, die Methode Eingabe, die Sie in Ihrem Beispiel, etwa so:
kann wieder ein carriage-return-Zeichen am Ende.
Dies bewirkt, dass der cursor wieder an den Anfang der Zeile, wenn Sie versuchen, drucken Sie es aus.
Sie können trimmen wollen, ist der Rückgabewert von input().
repr(file_date)
ist'QT1\r'
\r
hinter sich. Hast du es melden?Verwenden Sie diese Linie statt, um loszuwerden, das line-feed: