2013-07-08 1 views
-1

Я хочу заменить символ "u '" на "'", и я нахожу в Google решениях.Как удалить u указывает, что строки являются unicode

У меня есть эта версия питона:

[email protected]:/media/DATA/prototi/prototypefin4$ python --version 
Python 2.7.4 

я попробовать заменить и info:

strg = jsondict.replace("u'", "'") 
     print "\n\n\n\n\n\n\n\n\n\n\n" 
     print strg 
     print "\n\n\n\n\n\n\n" 

И с моим сервером в CherryPy У меня есть эта ошибка:

Traceback (most recent call last): 
    File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line 656, in respond 
    response.body = self.handler() 
    File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py", line 188, in __call__ 
    self.body = self.oldhandler(*args, **kwargs) 
    File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line 34, in __call__ 
    return self.callable(*self.args, **self.kwargs) 
    File "web_editormy.py", line 585, in save_demo 
    strg = jsondict.replace("u'", "'") 
AttributeError: 'dict' object has no attribute 'replace' 

Это переменная jsondict:

{u'demo_title': u'Demo title', u'proc1_script': u'script.sh parameters', u'inputp3_id': u'pepepe', u'outputp2_value': u'boh', u'demo_input_description': u'hola mundo', u'titleimg3': u'Gardens', u'outputp4_visible': u'on'} 

И я хочу, чтобы удалить этот ужас u

Поскольку я печатаю содержимое этой переменной jsondict в файл. Поэтому более желательно, чтобы этого не было u

Почему бы не заменить функцию замены?

Пропустить библиотеки python?

Это что я загрузил

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

import urllib 


import hashlib 
from datetime import datetime 
from random import random 

################################################# 

import json 
from StringIO import StringIO 

import re 

################################################# 

from mako.template import Template 
from mako.lookup import TemplateLookup 
from mako.exceptions import RichTraceback 

################################################# 

import os, shutil 
from lib import index_dict, http_redirect_303 

import zipfile 
import sys 

######################3 

import cherrypy 
from cherrypy.lib.static import serve_file 

from config import file_dict 

Где я неправильно?

+0

'jsondict' это словарь не строка – TerryA

+0

нормально .. А есть возможность вместо символа, потому что мне не нравится символ 'u '' – user2559131

+1

. '' '' '' не является символом в строке, что 'u' указывает, что строки являются unicode. Что вы имеете в виду, что вы не «любите» его? –

ответ

1

jsondict - это диктовка, в которой вы храните данные? Я ищу весь атрибут dict, нет атрибута arrect под названием «replace». Таким образом, вам может потребоваться прочитать данные из dict как string, а затем использовать метод string «replace», чтобы заменить «u» на "'".

Некоторые неправильно понимают, что вы пытаетесь сделать. Фактически, «u» не является частью значения dict, это означает, что str является unicode.if вы хотите удалить «u», может сделайте вот так: dict ['key'] = dict ['key']. encode ('utf-8'), вам нужно эргодизировать весь jsondict.

+0

мммм хорошее мнение. Тогда не существует функции замены для dict's dict? – user2559131

+0

ueeeee Я думаю, что можно отключить индикацию u? Работы равны на замене .. – user2559131

1

u'' - это буква буква unicode, если вы видите это, потому что вы получаете представление значения python, а не значение.

Чтобы создать представление JSON в словаре питона просто сделать:

json_string = json.dumps(jsondict) 
with open('output.json', 'w') as outfile: 
    outfile.write(json_string) 

или лучше:

with open('output.json', 'w') as outfile: 
    json.dump(jsondict, outfile)