发布新日志

  • cx_freeze打包wxpython程序

    2014-11-14 15:09:52

    使用如下命令行参数:
    D:\study\python\wxpython>cxfreeze --target-dir dist --base-name=C:\Python26\Lib\
    site-packages\cx_Freeze\bases\Win32GUI.exe timstamp.py

    即可直接打包,打包出来无控制台界面。。。

    Oh,yeah!
  • Win7下IIS搭建

    2014-08-11 15:28:38

    Win7 65位搭建IIS,开启IIS服务。

    要将Web 核心服务,Internet信息服务,还有什么framework3.5.1之类的全部子项都选上才行。

    问题解决。。
  • python中文windows下乱码问题的解决2

    2014-08-08 16:45:44

    >>> (shortname, extension) = os.path.splitext('笔记.txt')
    >>> shortname
    乱码

    无论decode utf-8,gbk,encode如何都解决不了

    终极解决方案:
    print str(shortname)
    显示正确。。

    总结:
    str()函数把Unicode字串转换成ASCII字串

    这里的shortname应该是unicode形式的,使用str函数将其转换成ASCII字符串输出为中文。

    >>> f.seek(-128,2)
    >>> print (f.read()).decode(type).encode('utf-8')
    seek读出的文件内容是系统编码方式,需要使用这种方式进行转换。。

    错误:
    >>> a='中文'
    >>> a
    '\xd6\xd0\xce\xc4'
    >>> print a
    中文

    原来中文在python中是以unicode的形式存储的。。使用打印语句可以正常输出。直接输a,输出的是地址。。。
  • python读取文件windows下乱码问题的解决

    2014-08-08 11:48:52

    问题描述:python idle读取文件时显示乱码
    操作系统:Windows 7 64位
    语言:python2.7
    Shell:IDLE

    问题步骤:
    python打开文件
    >>> f=open('笔记.txt','rb')
    >>> f.seek(50)
    >>> print f.readline()
    显示正常文字

    >>> f.seek(-128,2)
    >>> f.tell()
    969L
    >>> print f.read()
    显示文件内容为乱码。。。


    解决:
    >>> import codecs
    >>> print (f.read()).decode('gbk').encode('utf-8')
    >>> print (f.read()).decode('utf-8').encode('gbk')
    均不能解决

    >>> import sys
    >>> type=sys.getfilesystemencoding()
    >>> print (f.read()).decode('utf-8').encode(type)
    显示仍然为乱码

    >>> print (f.read()).decode(type).encode('utf-8')
    显示正确

    输入type,显示mbcs
    >>> type
    'mbcs'

    结论:
    1.该系统windows下编码格式为mbcs格式;
    2.>>> print (f.read()).decode(type).encode('utf-8')解释为py文件的输出为utf-8格式,系统的编码格式为type(mbcs)格式,使用该语句能正常在shell中显示中文文本。。。

    遗留了一个问题:
    为什么seek在末尾使用负数的位置描述的时候就会出现乱码情形呢?其余情况均不出现,是个问题,可能是python的一个bug。。。

    print (f.read()).decode(type)
    显示就可以。。只需要解码就可以。。print是可以直接打印的。。
Open Toolbar