如何删除u表示字符串是unicode



我想用"'"替换字符"u '",我在谷歌上找到了解决方案。

我有这个版本的python:

user@ubuntu:/media/DATA/prototi/prototypefin4$ python --version
Python 2.7.4

我尝试替换和信息:

strg = jsondict.replace("u'", "'")
        print "nnnnnnnnnnn"
        print strg 
        print "nnnnnnn"

我的服务器在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'

这是变量jscondict:

{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

我错在哪里了?

jsondict是一个dict,您存储数据吗?我搜索了dict的所有属性,没有一个名为"replace"的数组。因此,你可能需要从dict中以字符串的形式读取数据,然后使用字符串的方法'replace'将"u'"替换为"'"。

有些人误解了你要做的事情。实际上,"u"不是dict值的一部分,这意味着str是unicode。如果你想删除"u",可以这样做:dict['key']=dict['key'].encode('utf-8'),你需要遍历整个jscondition。

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)

最新更新