Diğer değişkenlerden bir "tam dosya adı" değişkeni oluşturmak istiyorum, ancak dize birleştirme ve dize biçimi işlemleri beklediğim gibi davranmıyor.Python 3.2 - Birleştirme ve dize biçimlendirme davranışı beklendiği gibi davranmıyor
Benim kod aşağıda:
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("")
çıktı ben script çalıştırdığınızda:
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
öyle haricinde ben, en sonunda ".txt" bitiştirmek bekliyordum bunun yerine dizenin ilk dört karakterini değiştirmek yerine.
Dizinin ilk n karakterlerini değiştirmek yerine, uzantı değişkenini dizenin sonuna kadar nasıl ekleyebilirim?
Bu özel problemin nasıl çözüleceğine ek olarak, ilk başta neden buna rastladığımı bilmek isterim. Neyi yanlış yaptım/Python 3.2 davranışının farkında değil miyim?
Onaylandı. OP'nin kodunu çalıştırdıktan sonra 'repr (file_date)' 'QT1 \ r'' –
Bu basit bir şey olduğunu hissettim. Satır besleme yerine "\ r" satırına bir satır dönüşü ekliyordu, ama beni doğru yönde yönlendirmeye yardım ettiniz. Teşekkürler! – tgxiii
Python 3'te, giriş bir dizge döndürür, bu nedenle str'yi kullanmaya gerek yoktur. – MRAB