Python 代码中不能出现中文,或者不能输入中文

最后解决方案。。在文件中添加固定的修改编码方式。在C:\Python27\Lib\site-packages路径下新建文件sitecustomize.py

并将如下代码放进去,重启idle 即可。

# encoding=gbk
import sys

reload(sys)
sys.setdefaultencoding(‘gbk‘)

注意不能将gbk换成utf8或者gb18030.无效

import json
import urllib2
"""import urllib2
web = urllib2.urlopen(‘http://www.baidu.com‘)
content = web.read()
fi = open("d:\\c.html",‘w‘)
fi.write(content)
fi.close()

"""
def get(cityname):
    try:
        city={‘南京‘:101190101,‘北京‘:101010100}
        return city[cityname]
    except:
        return 0

while 1:
    cityname = raw_input("请输入要查询的城市天气?\n")
    citycode = get(cityname)
    if citycode:
        url = (‘http://www.weather.com.cn/data/cityinfo/%s.html‘%citycode)
        content = urllib2.urlopen(url).read()
        data = json.loads(content)
        result = data[‘weatherinfo‘]
        str_temp = ‘%s:\n %s\n 最高温度: %s\n 最低温度: %s\n‘%(  ##就是这里不成出现汉字!!!!
        result[‘city‘],
        result[‘weather‘],
        result[‘temp1‘],
        result[‘temp2‘]
        )
        #  str_temp = unicode(str_temp, "gb18030")
##        fi = open("d:\\cc.txt",‘w‘)
##        fi.write(str_temp)
##        fi.close()
        print str_temp
    else:
        print "城市错误!"
时间: 2024-12-27 10:35:46

Python 代码中不能出现中文,或者不能输入中文的相关文章

如何从python代码中直接访问Android的Service

在Kivy中,通过pyjnius扩展可以间接调用Java代码,而pyjnius利用的是Java的反射机制.但是在Python对象和Java对象中转来转去总让人感觉到十分别扭.好在android提供了binder这个进程间通信的功能,Java中的Service也是基于Binder的C++代码封装来实现进程间通信的,这也为从Python代码中绕开pyjnius直接访问Java代码提供了可能,既然Java的Service是基于C++的封装来实现的,也同样可以在Python中封装同样的C++代码,这篇文

将SCONS工具集成到Python代码中

SCONS是Python的自动智能结构化编译工具,将来或许能代替Make. 在Windows或者Linux下,SConstruct文件相当于MakeFile,使用SCONS编译,需输入scons.bat(scons),后面带上编译选项options(如SConstruct所在的路径).观察scons.bat这个脚本,可以在其他Python代码中,将SCONS工具当作一个函数来调用.这个函数就是Scons.Script.main(),这个main函数将解析命令行中的编译选项,通过sys.argv[

Kivy A to Z -- 如何从python代码中直接访问Android的Service

在Kivy中,通过pyjnius扩展可以间接调用Java代码,而pyjnius利用的是Java的反射机制.但是在Python对象和Java对象中转来转去总让人感觉到十分别扭.好在android提供了binder这个进程间通信的功能,Java中的Service也是基于Binder的C++代码封装来实现进程间通信的,这也为从Python代码中绕开pyjnius直接访问Java代码提供了可能,既然Java的Service是基于C++的封装来实现的,也同样可以在Python中封装同样的C++代码,这篇文

python代码中判断版本

在python代码中判断python版本: if sys.version_info < (3, 0): lib.make_flows.argtypes = [c_char_p, c_char_p, c_int, c_int, c_int] lib.make_flows(avi, newpath, 0, 0, 10) else: in_path = bytes(avi, 'utf8') out_path = bytes(newpath, 'utf8') lib.make_flows(in_path

python字典中键值对的值为中文,打印成转义字符,怎么解决

今天是2019-10-02,学习代码第二天. python字典中键值对中有中文,打印的时候,发现成转义字符了.查了好久,解决.记录一下.useful. 今日份代码: 1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 # 字典和列表的区别 4 # 列表是有序的对象集合,字典是无序的对象集合 5 # 字典的特点,字典用{}定义,使用键值对存储数据,键值对间用,分开 6 # 键--key,索引 值--value,数据 键和值间用:分开 键--唯一的,只能取字

python代码中碰到的问题及解决

一.针对raw_input输入的字符进行类型判断及转换: raw_input输入默认为字符,如果输入的是数字字符,想自动转换,即:输入为a,不做操作,如果输入为3,即转化为整数. 可利用try..except..的方法,让程序将raw_input()输入的值转换为int,如果输入的是‘23’则直接转换为数字23,如果输入的是‘xx’则会try失败然后运行except的部分. #!/usr/bin/python27 #_*_ coding:utf-8 _*_ def myint(s): try:

.Net WinForm 中关于输入法打开却无法输入中文的郁闷问题

 问题描述见:http://www.cnblogs.com/nicch/archive/2008/11/09/1329910.html 这个问题已经困扰我很久了,特别是在使用DEV控件的时候,无法输入中文. 在VS中属性编辑框中也无法输入中文时,我们可以在切换输入法后使用右键"打开IME"来解决这个问题.   以前在dev控件的文本框输入汉字为都是在记事本写好了粘贴进去,很是不爽.   今天上午打完瞌睡,突然有了灵感. 出现这个问题时我的输入法设置为 注意我这里使用简体中文美式键盘.

WIN8.1下VS2012中安装了VISUAL ASSIST X输入中文出现乱码解决

Win8.1系统下vs2012中安装了visual assist x插件输入中文有可能出现乱码(也不算乱码就是很多问号??????) 解决办法是: 1.点击屏幕左下角输入法 2.选择语言首选项 3.在"更改语言首选项"里把其他输入法都删除.微软自带的也删除. 4.留下搜狗输入法完事...再进vs里试试..

utuntu sever1804显示中文putty可以输入中文

默认情况下,putty连接ubuntu server以后,哪怕设置的Utf-8的连接,也是无法显示中文的. 应该是ubuntu服务器端,没有字库的问题. 如果在putty显示和输入中文呢,因为配置信息,经常需要输入中文注释,以防后面看不懂呀. 第一步,putty登录系统, $sudo apt install language-pack-zh-hant language-pack-zh-hans 第二步,修改环境设置 vim /etc/environment在末尾增加语言和编码的设置如下:LANG