Расшифровка ascii в url php

, который не отображается в вашем примере, но записывая это:

infilename = 'c:/mydir1/mydir2\mydir3\mydir4\123xyz.csv'

не является хорошей идеей, потому что некоторые из строчных (и нескольких прописных) букв интерпретируются как escape-последовательности, если следовать за antislash , Известными примерами являются \t, \b, есть другие. Например:

infilename = 'c:/mydir1/mydir2\thedir3\bigdir4\123xyz.csv'

дважды терпит неудачу, потому что 2 символа интерпретируются как «вкладка» и «обратное пространство».

Когда вы имеете дело с буквальным пути в стиле Windows (или регулярными выражениями), вы должны использовать префикс raw и, лучше, нормализовать свой путь, чтобы избавиться от косых черт.

infilename = os.path.normpath(r'c:/mydir1/mydir2\mydir3\mydir4\123xyz.csv')

Однако исходный префикс применяется только к литералам . Если появляется возвращаемая строка, при печати repr(string), как 'the\terrible\\dir', то символы табуляции уже помещены в строку, и вы ничего не можете сделать, кроме паршивой пост-обработки.

0
задан Phantom Moore 25 March 2019 в 23:48
поделиться