Я хочу создать переменную «полное имя файла» из нескольких других переменных, но операции конкатенации строк и форматирования строк ведут себя не так, как я ожидал.
Мой код ниже:
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("")
Когда я запускаю скрипт, выводятся следующие данные:
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
Я ожидал, что он объединит ".txt" в самом конце, за исключением того, что он заменит первые четыре символа строки на вместо этого.
Как мне присоединить переменную расширения к концу строки вместо того, чтобы она заменяла первые n символов строки?
В дополнение к тому, как решить эту конкретную проблему, я хотел бы знаю, почему я столкнулся с этим в первую очередь. Что я сделал не так / о каком поведении Python 3.2 мне неизвестно?