1. 程式人生 > >python中遇到的一些問題及解決方案

python中遇到的一些問題及解決方案

不可避免經常會碰到一些小問題,但會耽誤自己很長時間,希望對大家有所幫助。

1. SyntaxError:

Non-UTF-8 code starting with '\xd7' in file 0807_multiprocessing例項.py on line 7, but no encoding declared
; see http://python.org/dev/peps/pep-0263/ for details

解決方法:第一行新增

#coding=gbk

如果新增 coding=utf-8就會顯示(unicode error) 'utf-8' codec can't decode byte 0xd7

2.  E325:注意

發現交換檔案...

解決方法:產生問題的原因是有個和檔名一樣的檔案,一般是異常情況下出現的,沒有儲存,刪掉異常檔案就好了 rm xxx.py.swp 就好了

3. 位、位元、位元組的區分

二進位制位(binary digit),簡稱 位(bit),音譯位元,表示二進位制單位,是計算機內部資料儲存的最小單位,

位元組(Byte),習慣用B表示,是計算機處理資料的基本單位,以位元組為單位儲存和解釋資訊,一個位元組等於8個位,一個位元組可以存入一個ASCII碼,2個位元組存放一個漢字國標碼。

4. cmd中python如何退出?

Ctrl+z

5. name error :name xxx is not defined

變數名錯誤,但是肉眼怎麼也看不出來錯在哪裡,以後就自動補全Ctrl + N

6.sublime中動態調整字型大小

Ctrl + 滾輪

7. Ubuntu的終端字型大小調節

Ctrl + shift  + +/-  ?

8.python的命令列退出機制

在Windows中,按Ctrl+Z,再按回車退出。在Linux中,按Ctrl+D退出。

9. RecursionError: maximum recursion depth exceeded while calling a Python object

報錯提示超過最大遞迴深度。解決方式為加入如下指令碼:

import sys
 
sys.setrecursionlimit(1000000) #例如這裡設定為一百萬

 10. Ubuntu中apt-get install安裝軟體,顯示“E:無法定位軟體包”

需要更新下軟體源,sudo apt-get update

11. pycharm裡面如何放大縮小字型?

12. 新式類和舊式類

Python 2.x中預設都是經典類,只有顯式繼承了object才是新式類,python3都是新式類

13.Ubuntu 16.04 遇到的執行命令 sudo apt-get update 時出現E: 無法下載

http://ppa.launchpad.net/fcitx-team/nightly/ubuntu/dists/xenial/main/binary-amd64/Packages 404 Not Found,如下圖所示:


解決方案:刪除對應的ppa 第一步:

cd /etc/apt/sources.list.d

第二步:在該目錄下ls,即可以看到對應的無法下載的fcitx-team-ubuntu-nightly-xenial.list,刪除該.list即可(安全起見,可以進行新增字尾.bak的備份)

mv fcitx-team-ubuntu-nightly-xenial.list fcitx-team-ubuntu-nightly-xenial.list.bak

第三步:檢查問題是否解決  在終端中輸入命令:

sudo apt-get update

14. 在robomongo(也就是robo3T)用aggregate的$skip和$limit發生的bug :

Error: Line 9: Unexpected token {

db.stu.aggregate([
    {$match:{age:{$gt:20}}},
    {$group:{
        _id:'$gender',
        counter:{$sum:1}
    }},
    {$project:{_id:1,counter:1}},
    {$sort:{_id:-1}}
    {$skip:1},
    {$limit:1}
])

解決方案: {$sort:{_id:1}}後邊少加了逗號。。。

15.mongoDB的身份驗證禁用並啟用問題

具體描述:開始階段mongoDB配置是auth disable ,建立超級管理員之後,按照網上搜索的答案,net stop mongodb,vim mongod.cfg修改配置啟用授權,再net start mongodb,結果:服務沒有響應控制功能。只能講身份驗證配置禁用才可以開啟mongod和mongo

解決方案:暫無,在stackoverflow上提問了

16. import引用問題

PEP 328裡面說的很詳細了,基多的解決方案 例子:

package/
    __init__.py
    subpackage1/
        __init__.py
        moduleX.py
        moduleY.py
    subpackage2/
        __init__.py
        moduleZ.py
    moduleA.py

Assuming that the current file is either moduleX.py or subpackage1/__init__.py, following are correct usages of the new syntax:

from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo
from ...package import bar
from ...sys import path

17. scrapy多個items類piplines如何分別儲存

 見簡書,用if isinstance(item, items.py裡面的類)進行判斷就可以了。