我想用"u '"
替换字符"'"
,我在google上找到解决方案。
我有这个版本的python:
user@ubuntu:/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 :(得分:1)
jsondict是一个存储数据的字典吗?我搜索dict的所有属性,没有名为'replace'的arrtribute。所以,你可能需要从dict中读出数据作为字符串,然后使用字符串的'replace'方法替换“u”与“'”。
有些人误解了你要做的事情。实际上,“你”并不是dict价值的一部分,它意味着str是unicode。如果要删除“u”,可能会像这样:dict ['key'] = dict ['key'] .coding('utf-8'),你需要遍历整个jsondict。答案 1 :(得分: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)