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?


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 :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.