自學記錄 python小知識

2021-08-20 13:21:16 字數 2319 閱讀 5195

【os.path.的一些功能】: 

根據實際專案中的例子來理解一下大體的用法,目前只接觸了幾個方法 例1

:我是在c:\python\django\ttsx2\ttsx_goods\views.py工作,

執行環境是在c:\python\django\ttsx2下,此時我執行命令去執行views.py。

當在views.py下寫下這句**:

f = os.path.dirname(__file__)

:**的意思是返回執行指令碼所在的路徑,這裡輸出f會返回空。如果執行環境是c:\python\django\ttsx2\ttsx_goods\views.py,輸出f後返回值會是c:\python\django\ttsx2\ttsx_goods。

當在views.py注釋掉第一句**並下寫下這句**:

f = os.path.abspath(__file__)

:**的意思是返回執行指令碼所處的絕對路徑,輸出f會返回c:\python\django\ttsx2\ttsx_goods\views.py。

所以一般開發中都會寫成下面這種形式:

f = os.path.dirname(os.path.abspath(__file__)):

意思是先去獲取指令碼的絕對路徑得到

c:\python\django\ttsx2\ttsx_goods\views.py,

接著返回指令碼所在的目錄

c:\python\django\ttsx2\ttsx_goods

那麼同理,我這樣寫:

f = os.path.dirname(os.path.dirname(os.path.abspath(__file__))):

可以得到

c:\python\django\ttsx2。

理解以後看這個需求:我目前在ttsx2\ttsx_goods\views.py下工作,接下來我想在ttsx2路徑下的static資料夾下工作該怎麼做?看下面

f = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'static'):

獲取到c:\python\django\ttsx2

然後進行join路徑拼接,拼接到static路徑中

總結:

1執行帶(__file__)的語句時,必須要在實際存在的.py檔案中執行,如果是在命令列執行會報異常nameerror: name '__file__' is not defined 2,

dirname(__file__)如果不輸入完整路徑是不會返回路徑的,所以一般都會配合asbpath()來使用

【 pip與apt-get的區別在哪兒呢?】:

pip用來安裝來自pypi的python所有的依賴包,並且可以選擇安裝任何在pypi上已上傳的先前版本的依賴包 

apt-get可以用來安裝軟體、更新源、也可以用來更新自ubuntu的典型依賴包,即意味著它只是安裝(最新發布的,或最近乙個的)單一版本,並且我們不能決定我們要安裝的依賴包的版本或選擇它之前的版本。

【什麼時候該用pip,什麼時候該用apt-get呢?】:

如果你需要最新版本的python依賴包,你可以直接使用apt-get,在專案突然需要使用舊版本的依賴包時,你就可以使用virtualenv和pip來使完美得再安裝上乙個舊版本的依賴包; 

如果你需要安裝python包的特定版本,或在virtualenv中安裝包,或安裝只託管pypi上乙個包,此時只有pip會幫你解決這個問題了。

apt-get

apt-get

命令一般需要

root許可權

執行,所以一般跟著 sudo命令:

【sudo apt-get install 安裝】-- 【sudo apt-get remove 移除】

【 sudo apt-get update 更新源】--【sudo apt-get upgrade 更新已安裝的包】

%格式化小例子:

a = 123,b = '%d, %06d' % (a, a)-->b = '123,000123' 格式化前加0的意思為補零

a = 12.32, b = '%f...%.1f...%05.1f' % (a,a,a)-->b = '12.32...12.3...012.3'

a = , b = '%(a)d...%(b)s' % a-->b = '1...ab' 基於字典形式的格式化操作

內建函式vars(): a = 5, b = 4  vars()-->  vars()會把所有呼叫這個函式之前存在的變數轉換為字典的鍵值對

自學python記錄1

上次參加個學校的功放大賽,裡面有乙個關於提取ip並計算所有埠號是80的ip位址的總和,但不計算埠號,最終我們小組的同學用c完成了這道大題,但答疑的時候學長說用python會容易很多,this讓我想到了去年功放題裡面的那個進製轉換的題,資料龐大得驚人,本準備用c寫的,但後來發現越界了,無奈之下只能用計...

python小知識 Python小知識

1 python是一種解釋性語言,當程式執行時,一行一行的解釋,並執行 優點 除錯 很方便,開發效率高,並且可以跨平台 不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。缺點 執行速度慢。python的種類 cpython ipython pypy jython ironpython ...

python小知識 python小知識

一 列表 l 1,2 m l l和m同時指向列表物件,內容為 1,2 l l 3,4 系統新增了乙個物件,內容為 1,2,3,4 l,m 1,2,3,4 1,2 l 1,2 m l l 3,4 對列表在原處做修改 l,m 1,2,3,4 1,2,3,4 二 python程式設計中的中文編碼問題 問題...