文|seraph
__init__.py
當載入模組時(目錄名),會預設載入此檔案,__init__.py
檔案一般就是匯入目錄下的其他子模組。相當於用__init__.py
做模組匯入的統一管理。
但我們匯入模組的時候,依然要寫上子模組的名稱。
dir()
查詢模組的屬性、方法等。如果輸入引數為空,便是查詢當前模組的屬性、方法等。
__file__
當前檔案的位置(包含檔名)。可能時絕對路徑,有可能是相對路徑,依賴於python執行時的引數。
os.path.dirname()
擷取當前檔案的上層目錄。
isinstance()
函式判斷乙個物件是否時某種型別,與type()
不同的是,isinstance()
會認為子類是一種父類型別,考慮繼承關係。
hasattr()
判斷物件是否包含對應的屬性。
os.environ.get()
獲取環境變數。
zip()
將可迭代的物件打包成乙個個元組,以列表的形式返回。
dot()
函式為矩陣乘,*
則表示嘴哥元素相乘。
eval()
函式:執行乙個字串表示式。
將jupyter的ipynb檔案轉為py檔案。
解決:jupyter nbconvert --to script demo.ipynb
函式名
含義os.listdir()
返回指定的資料夾包含的檔案或資料夾的名字的列表
os.path.join()
連線兩個或更多的路徑名元件
函式名含義
str.split()
分割字串
round函式
使用方法:round(number,digits)
digits>0,四捨五入到指定的小數字
digits=0, 四捨五入到最接近的整數
digits<0 ,在小數點左側進行四捨五入
如果round()函式只有number這個引數,等同於digits=0
四捨五入規則:
要求保留位數的後一位<=4,則捨去3,如5.214保留小數點後兩位,結果是5.21
要求保留位數的後一位「=5」,且該位數後面沒有數字,則不進製,如5.215,結果為5.21
要求保留位數的最後一位「=5」,且該位數後面有數字,則進製,如5.2151,結果為5.22
要求保留位數的最後一位「>=6」,則進製。如5.216,結果為5.22
nameerror:name 『xrange』 is not defined
解決:在python 3中,range()與xrange()合併為range( )。如果你是python3,使用range即可。
使用pip時,from pip import main importerror: cannot import name 『main』。
解決:pip老版本公升級到新版本的問題。
from pip import main
if __name__ ==
'__main__'
: sys.exit(main(
))
修改為
from pip import __main__ //修改為__main__,注意是兩個下劃線
if __name__ ==
'__main__'
: sys.exit(__main__._main())
//增加__main__._
解決:不一致的縮減導致。
解決:python3沒有cpickle庫,應該用pickle。
解決:首先錯誤事range應該接收int型別的引數。一般可能事python2的除法與python3不一致導致的。
python2:a = b/c
結果為int
python3:a = b/c
結果為float,如果需要結果為int,需要修改為a = b//c
。
進行某些安裝操作,pip突然壞掉了,提示如下:
traceback (most recent call last):
file "/usr/local/bin/pip", line 6, in from pip._internal import main
importerror: no module named 'pip._internal
解決:重新安裝pip
wget --no-check-certificate
python3 get-pip.py --force-reinstall #如果你是python3,記得不要寫成python
unindent does not match any outer indentation level
解決:不一致的縮排導致。如tab
不一致,可以使用多次按space
來表示tab,乙個
tab表示四個
space`。
typeerror: 'module' object is not callable
解決:python匯入模組的方法有兩種:import module 和 from module import,區別是前者所有匯入的東西使用時需加上模組名的限定,而後者不要。
how to solve "attributeerror: module 'google.protobuf.descriptor' has no attribute '_internal_create_key"?
解決:pip install --upgrade protobuf
pip安裝pycuda報錯:bpl-subset/bpl_subset/boost/python/detail/wrap_python.hpp:50:11: fatal error: pyconfig.h: no such file or directory
解決:pip install python3-dev
(如果已安裝,重新安裝確認指定版本,如python3.8-dev)
Python工具pip錯誤解決
環境是win8,原來只安裝了python2.7。後來因為要用到python3,為了讓兩者共存,降python3的執行檔案改成了python3.exe.問題就此而來,這時候執行python3 的pip會遇到如下錯誤 fatal error in launcher unable to create pr...
duplicate symbol錯誤解決
首先介紹一下重要的幾個引數 objc 加了這個引數後,鏈結器就會把靜態庫中所有的objective c類和分類都載入到最後的可執行檔案中 all load 會讓鏈結器把所有找到的目標檔案都載入到可執行檔案中,但是千萬不要隨便使用這個引數!假如你使用了不止乙個靜態庫檔案,然後又使用了這個引數,那麼你很...
rsync 錯誤解決
總結自己遇到問題,及其解決方法 1 rsync read error connection reset by peer 104 rsync error error in rsync protocol data stream code 12 at io.c 759 sender 3.0.6 解決 這個...