automator dan skrip python utf-8 output

0

Saya menulis skrip python shell dan gagal dalam alur kerja automator:

# -*- coding: utf-8 -*-

import urllib, json, os, datetime
import locale
locale.setlocale(locale.LC_ALL, 'fr_FR')

url = "http://feeds.delicious.com/v2/json/lefakir/ws?count=8"

urllib.urlopen(url)

deliciousFeed = urllib.urlopen(url)

posts = json.load(deliciousFeed)

for post in posts:
    print " * {0} : [{1}]({2})".format(post["n"], post["d"], post["u"])

Masalahnya terjadi pada post ["n"] dan post ["d"] yang memiliki simbol utf-8.

Apakah ini masalah biasa?

lefakir
sumber
2
Anda dapat menambahkan rincian tentang pesan kesalahan yang Anda lihat dan bagaimana Anda menggunakan skrip ini dengan Automator.
Graham Miln
Ya, ini adalah masalah umum. UTF-8 dan Python cukup sering tidak bermain bagus.
John Keates
Maaf @ GrahamMiln ini dalam bahasa Prancis: grab.by/FrIG , tetapi Anda dapat menyalin / menempelkan kode ini di automator.
lefakir
@ JohnKeates maksud Anda dengan automator atau dengan cara yang lebih umum?
lefakir
Dengan Python dengan cara yang lebih umum. Dukungan Unicode memerlukan beberapa pekerjaan tambahan untuk bermain bagus dengan python. Saya belajar ini dengan cara yang sulit saat bekerja dengan SaltStack.
John Keates

Jawaban:

1

Aku menemukan diriku :

print " * {0} : [{1}]({2})".format(post["n"].encode( "utf-8" ), post["d"].encode( "utf-8" ), post["u"].encode( "utf-8" ))

Itu masalah unicode / utf-8 :)

lefakir
sumber