2013-07-08 57 views
-1

我想用"'"替換字符"u '",我在google上找到了解決方案。如何刪除u表示字符串是unicode

我這個版本的Python:

[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'} 

而且我想既然我打印此變量的內容jsondict到要刪除的文件的u

這個恐怖。 因此更令人欣慰的是,沒有這個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'不是字符串中的字符,'u'表示字符串是unicode。你是什​​麼意思,你不喜歡它? –

回答

1

jsondict是你存儲數據的字典嗎?我搜索字典的所有屬性,沒有一個名爲'replace'的arrtribute。因此,您可能需要從字典中讀取數據作爲字符串,然後使用字符串的方法'replace'替換「u'」 「'」。

有些人誤解了你正在做的事情。「u」不是字典值的一部分,它意味着str是unicode。如果你想刪除「u」,可以像這樣:dict ['key'] = dict ['key'] .coding('utf-8'),你需要遍歷整個jsondict。

+0

mmmm好意見。 那麼不存在替換變量的字典的功能? – user2559131

+0

ueeeee我認爲可以禁用你的指示?作品在取代時是平等的。 – user2559131

1

u''只是一個Unicode字面,如果你看到這是因爲你得到的是一個python值的表示,而不是值。

要生成的JSON表示創建一個python的字典只是做:

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) 
相關問題