Надеюсь, это будет легко. У меня есть URL:Как преобразовать процентный код в строку с символами не-ascii?
http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol%C3%A9on.jpg
, который сохраняется в файл JSON с этим кодом:
paintings = get_all_paintings(marc_chagall)
with open('chagall.json', 'w') as fb:
x = json.dump(paintings, fb)
В файле, то URL стал:
u'http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol\xe9on.jpg'
Я способный получить исходный, полезный, процентно-кодированный URL с этим кодом:
p = u'http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol\xe9on.jpg'
p = urllib.quote(p.encode('utf8'), safe='/:')
print repr(p)
> 'http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napol%C3%A9on.jpg'
Теперь идет сложная часть. Я хочу получить эту строку:
http://uploads4.wikiart.org/images/marc-chagall/kopeikin-and-napoléon.jpg
с символом non-ascii в napoléon нетронутым. Это для целей именования в ведре хранения, а не для чего-либо еще. Как я могу создать эту строку?
Я хочу сохранить последнюю часть переменной, например 'x.split ('/') [- 1]' –
@edmund_spenser: тогда просто сделайте это. Строки Unicode поддерживают разделение так же, как строки байтов. –
Я был действительно выброшен, как вы сказали, пиновым представлением значения Unicode. Я не понимал, что у меня было. –