Я хочу использовать os.path.join, чтобы собрать мой путь к файлу. Но тут есть некоторые проблемы. Пожалуйста, помогите мне.
print(sys.argv[1]) #print hw2
path = os.path.join(sys.argv[1], '{:s}.txt')
print(path) #print {:s}.txt
Почему результат не hw2/{: s}.txt? Я спросил других людей, и это может сработать для них. Моя версия Python 3.6.8.
Может показаться, что os.path.join
в Windows не очень требователен к тому, что он считает буквой диска. Initial {:
заставляет второй аргумент обрабатываться как абсолютный путь на диске {, в результате чего первый аргумент игнорируется.
В качестве обходного пути укажите явный номер поля, чтобы отделить двоеточие от первого символа строки:
path = os.path.join(sys.argv[1], '{0:s}.txt')
f
перед строкой форматирования и использовать переменную или другое выражение внутри фигурных скобок.hw2/{:s}.txt
.