python學習:python編程之模塊學習及python底層運行過程的講解

Python 操作系統 PyCharm 幻風的AI之路 2019-04-10

模塊

上一篇文章中有一個getpass,其實他就是模板,模板就是已經給封裝好了的,我們可以直接來使用的。模塊也叫做庫,庫有兩種,一種是標準庫,不用安裝,直接導入就可以使用,還有一個是第三方庫,必須下載安裝才能用

sys庫學習

python學習:python編程之模塊學習及python底層運行過程的講解

第一個是打印當前python的環境變量,第二個是打印當前文件的相對路徑

python學習:python編程之模塊學習及python底層運行過程的講解

可以根據結果看出來第二個並沒有打印相對路徑,這是因為在pycharm中調用他就是以絕對路徑的方式來執行的,所以,這裡輸出的是絕對路徑,如果要是在dos下進行執行這個文件,那麼第二個輸出的是相對路徑

我們在執行一個py文件的時候,可以給這個文件傳遞參數

python學習:python編程之模塊學習及python底層運行過程的講解

比如該圖,傳遞了123,則輸出了一個列表,這個列表中含有參數123,列表也是有下標的,下標是從0開始的,比如0下標,對應sys_mod.py,1下標對應1,2下標對應2,3下標對應3,我們可以根據下標來取出這個列表中的值;

可以通過sys.argv[下標索引]來獲取相應下標的值

python學習:python編程之模塊學習及python底層運行過程的講解

python學習:python編程之模塊學習及python底層運行過程的講解

這個是在pythom下獲取的索引為0的參數,所以這個是絕對路徑,而不是相對路徑

os模塊

os模塊就是和系統交互的執行的操作,比如python中調用相應的dos命令

python學習:python編程之模塊學習及python底層運行過程的講解

python學習:python編程之模塊學習及python底層運行過程的講解

這個程序執行結果就是,相當於在當前目錄執行dir,並且將執行結果輸出到控制檯,它的返回值為0或1,0表示執行成功,1表示執行失敗,這只是在這個方法中,在python中1表示真,0表示假

還有一個方法和system類似,就是popen這個方法也是執行命令但是執行結果不會輸出到控制檯,可以通過店read方法讀取到這個執行結果,而且這個結果還沒有亂碼

python學習:python編程之模塊學習及python底層運行過程的講解

python學習:python編程之模塊學習及python底層運行過程的講解

python學習:python編程之模塊學習及python底層運行過程的講解

通過mkdir方法創建了一個huanfeng的文件夾

自定義模塊

我們可以將自己定義的py文件,讓其它py文件來import,這樣我們的文件就相當於模塊了,比如1.py導入了2.py就相當於在2.py的代碼全部都放到了1.py中,所以2.py該執行就執行,有輸出就輸出,當前它內部的方法,也可以被1.py給調用

import xx.py 導入一個模塊系統會自動先去當前目錄中尋找這個模塊,如果沒有,會去系統變量(site-package)中去尋找,如果還沒有那麼就是沒有找到,就會出錯

python的運行過程及pyc文件是什麼

我們運行py文件的時候,它會先編譯,編譯的結果保存到pycodeobject中,當程序運行結束之後,python會將pycodeobject的內容寫回到pyc文件中,可以把pyc看成編譯結果的硬盤持久話,當下次在運行的時候,看源程序和pyd程序是否更改時間是否一致,如果一致,就表示源程序沒有更改,那麼程序會直接載入pyc用於執行,如果不一致,就表示程序發生了改變,所以此時此時執行程序,還得經過pycodeobject那個過程

python學習:python編程之模塊學習及python底層運行過程的講解

自從python2.2之後,如果整數發生了溢出,python會自動將整數轉成長整數,也就是說在長整數後面不加L也不會出問題,因為它會自動進行轉換。

通過time庫輸出當前時間

python學習:python編程之模塊學習及python底層運行過程的講解

python學習:python編程之模塊學習及python底層運行過程的講解

time_format為時間的格式,time.strftime(time_format)為當前時間以time_format格式化處理,最後輸出這個被格式化的時間

相關推薦

推薦中...