zoukankan      html  css  js  c++  java
  • Python: 编程遇到的一些问题以及网上解决办法?

    0.Python: TypeError: 'str' does not support the buffer interface,(点我)

      fp.write(url.encode("utf-8"))

    1.Python:object of type 'Response' has no len(),如何解决?(点我)

    Traceback (most recent call last):
      File "F:/Python/TD.py", line 7, in <module>
        soup = BeautifulSoup(wb_data,'lxml')
      File "C:Python35libsite-packagess4\__init__.py", line 192, in __init__
        elif len(markup) <= 256 and (
    TypeError: object of type 'Response' has no len()
    

     2.Python:如何将Python脚本封装成exe可执行程序?(点我1点我2)

      环境: Python2.7.12 / win7_64位 / py2exe-0.6.9.win64-py2.7.exe

      自己以打包C盘根目录下面的workspace下randint.py文件为例,里面的内容一定要可以执行。

      为了避免在运行时黑框一闪就关闭,可以在最后一行加上一句raw_input():同时在workspace下建立setup.py,输入下面代码:  

        #!/usr/bin/env python

         # -*- coding: utf-8 -*-

        from distutils.core import setup
        import py2exe

        setup(console=[r'C://workspace/randint.py'])或者setup(console=[r'C:/workspace/randint.py'])(尝试了两种方法都可以)

        最后一行代码中输入要打包的py文件的正确路径,注意双斜杠的方向。
        打开cmd,切换到你的python27安装目录 c:Python27>python
        在后面输入代码 python c:workspacesetup.py py2exe 就这样我们的python程序打包完成了!
      现在去e:python27目录下面看到生成了一个名为 dist 的文件夹,进去双击randint.exe就可以运行我们的程序了。

        注意:发布程序的时候要把这个文件夹里面的所有文件一起发布!文件夹和exe的名称都是可以改变的。

    3.Python:IOError: [Errno 22] invalid mode ('w') or filename: 'path egionlog.txt'

      Use forward slashes: 'path/regionlog.txt'
      Or raw strings: r'path egionlog.txt'
      Or at least escape your backslashes: 'path\regionlog.txt'

    4.Python:多行注释?

      if 0:
      ''' '''

    5.Python: IDLE如何清屏?(点我)

    6.Python: print 打印格式?

         print 默认打印是换行的,要想不换行Py2.7中print('*'),  Py3.5中print('*',end = " ")

    7.Python:保证遍历字典所有元素,但不保证遍历的顺序。如何保证遍历顺序?

     举个例子:

    score = {'A':90,'B':80,'C':70}
    for name in score:
    	print name
    #A
    #C
    #B
    

    解决:
      通过两个List分别存储Key和Value,然后通过zip合并为Dictionary,再遍历:

    keys = ['A','B','C']
    values = [90,80,70]
    for key,value in zip(keys,values):
    print key
    

    8.Python:Non-ASCII character 'xe5' in file......

      原因:Python默认是以ASCII作为编码方式的,如果在自己的Python源码中包含了中文(或者其他非英语系的语言),
      此时即使你把自己编写的Python源文件以UTF-8格式保存了,但实际上,这依然是不行的。
      解决办法很简单,只要在文件开头加入下面代码就行了。
      # -*- coding: UTF-8 -*-或#coding=utf-8


    9.Python:怎么把list转换为字符串?

         在确定list里的所有元素都是字符串的前提下,用字符串中的join()函数就可以实现:
                str = "".join(lIst) #""即空字符串
        用一行 Python 代码实现:把1到100的整数里,能被2、3、5整除的数取出,以分号(;)分隔的形式输出?
        ";".join([str(i) for i in range(1,101) if (i%2 == 0 and i%3 == 0 and i%5 == 0)])

    10.Python:raw_input和input区别?(点我)

    py2.x
      raw_input 输入字符串或数字,返回字符串
      input 输入数字 返回数字。输入字符串,返回出错
      除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

      PYTHON 2.X在使用raw_input()时,如果用中文做提示raw_input(u'中文') ,会提示乱码,

      解决办法:
        raw_input(u'中文'.encode('gbk')) ,即可解决乱码问题,中文CMD编码默认为GB2312。

    py3.x
      没有raw_input,只有input,input 输出结果作为字符串

    11.Python:  if __name__ == "__main__":用法?(点我)

       在if __name__ == "__main__":之后的语句作为模块被调用的时候,语句之后的代码不执行;

       直接使用的时候,语句之后的代码执行。通常,此语句用于模块测试中使用。__name__作为模块的内置属性,

       .py文件有两种使用方式:作为模块被调用和直接使用。如果它等于"__main__"就表示是直接执行。
      
    ------2016-12-23--------------------------------------------

    12.TypeError: 'range' object doesn't support item deletion

      

      解决:(range 对象不支持元素删除,将对象转成列表。)

      

      

     

      

       

  • 相关阅读:
    算法初步——哈希表B.1038统计同成绩学生
    算法初步——哈希表B10133.旧键盘打字 (注意bool型数组的赋值为true的方法)
    算法初步——哈希表B1029/A1084. 旧键盘
    算法初步——排序 A1012.The Best Rank(25)
    《思维导图》——东尼博赞
    算法初步——排序B1015/A1062.德才论
    入门模拟——(字符串处理)A1001. A+B Format(20)
    RMQ问题(线段树+ST算法)
    PKU 2406 Power Strings(KMP最长循环不重叠字串)
    KMP算法 kuangbin
  • 原文地址:https://www.cnblogs.com/billyzh/p/5883141.html
Copyright © 2011-2022 走看看