天天看點

Python内置子產品(一)

一、os   - 用于提供系統級别的操作

os.getcwd() 擷取目前工作目錄,即目前python腳本工作的目錄路徑;
os.chdir("dirname")  改變目前腳本工作目錄;相當于shell下cd;
os.curdir  傳回目前目錄: ('.');
os.pardir  擷取目前目錄的父目錄字元串名:('..');
os.makedirs('dirname1/dirname2')    可生成多層遞歸目錄;
os.removedirs('dirname1')    若目錄為空,則删除,并遞歸到上一級目錄,如若也為空,則删除,依此類推;
os.mkdir('dirname')    生成單級目錄;相當于shell中mkdir dirname;
os.rmdir('dirname')    删除單級空目錄,若目錄不為空則無法删除,報錯;相當于shell中rmdir dirname;
os.listdir('dirname')    列出指定目錄下的所有檔案和子目錄,包括隐藏檔案,并以清單方式列印;
os.remove()  删除一個檔案;
os.rename("oldname","newname")  重命名檔案/目錄;
os.stat('path/filename')  擷取檔案/目錄資訊;
os.sep    輸出作業系統特定的路徑分隔符,win下為"\\",Linux下為"/"
os.linesep 輸出目前平台使用的行終止符,win下為"\t\n",Linux下為"\n"
os.pathsep    輸出用于分割檔案路徑的字元串;              
os.name 輸出字元串訓示目前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 運作shell指令直接顯示
os.environ  擷取系統環境變量;
os.path.abspath(path)  傳回path規範化的絕對路徑;
os.path.split(path)  将path分割成目錄和檔案名二進制組傳回;
os.path.dirname(path)  傳回path的目錄。其實就是os.path.split(path)的第一個元素;
os.path.basename(path)  傳回path最後的檔案名。如果path以/或\結尾則傳回空值,即os.path.split(path)的第二個元素;
os.path.exists(path)  如果path存在,傳回True;如果path不存在,傳回False;
os.path.isabs(path)  如果path是絕對路徑,傳回True;
os.path.isfile(path)  如果path是一個存在的檔案,傳回True。否則傳回False;
os.path.isdir(path)  如果path是一個存在的目錄,則傳回True。否則傳回False;
os.path.join(path1[, path2[, ...]])  将多個路徑組合後傳回,第一個絕對路徑之前的參數将被忽略;
os.path.getatime(path)  傳回path所指向的檔案或者目錄的最後存取時間;
os.path.getmtime(path)  傳回path所指向的檔案或者目錄的最後修改時間;      

        更多點選這裡

二、 sys -- 提供對解釋器相關的操作

sys.argv           指令行參數List,第一個元素是程式本身路徑
sys.exit(n)        退出程式,正常退出時exit(0)
sys.version        擷取Python解釋程式的版本資訊
sys.maxint         最大的Int值
sys.path           傳回子產品的搜尋路徑,初始化時使用PYTHONPATH環境變量的值
sys.platform       傳回作業系統平台名稱
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]      

三、 time

    時間相關操作,有三種表達方式:

  • 時間戳               1970年1月1日之後的秒,即:time.time()
  • 格式化的字元串    2014-11-11 11:11,    即:time.strftime('%Y-%m-%d')
  • 結構化時間          元組包含了:年、日、星期等... time.struct_time    即:time.localtime()

            >>> time.time()

            1453650950.0419753

            >>> time.strftime('%Y-%m-%d %H-%M-%S')

            '2016-01-24 23-56-45'

            >>> time.localtime()

            time.struct_time(tm_year=2016, tm_mon=1, tm_mday=24, tm_hour=23, 

            tm_min=57, tm_sec=12, tm_wday=6, tm_yday=24, tm_isdst=0)

            >>> t = time.localtime()

            >>> t.tm_year

            2016

            >>> 

    時間相關方法:

    time.mktime()  # 接結構化時間參數,将結構化時間轉成時間戳形式;

            time.struct_time(tm_year=2016, tm_mon=1, tm_mday=25, tm_hour=0, tm_min=19,                 tm_sec=42, tm_wday=0, tm_yday=25, tm_isdst=0)

            >>> time.mktime(time.localtime())

            1453652393.0

    time.gmtime()  # 接時間戳參數,将時間戳轉成結構化時間形式(time.mktime()相反)

            >>> time.time()

            1453652560.9539487

            >>> time.gmtime(time.time())

            time.struct_time(tm_year=2016, tm_mon=1, tm_mday=24, tm_hour=16, tm_min=22,             tm_sec=50, tm_wday=6, tm_yday=24, tm_isdst=0)

    time.localtime() # 接時間戳參數,将時間戳轉成結構化時間形式(與time.mktime()相反)

            >>> time.localtime(time.time())

            time.struct_time(tm_year=2016, tm_mon=1, tm_mday=25, tm_hour=0, tm_min=25,                 tm_sec=28, tm_wday=0, tm_yday=25, tm_isdst=0)

    time.strptime('2016-01-01','%Y-%m-%d') # 将指定的時間轉成結構化時間形式;

            >>> time.strptime('2016-01-01','%Y-%m-%d')

            time.struct_time(tm_year=2016, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0,                 tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=-1)

    time.strftime('%Y-%m-%d')  # 預設目前時間,轉成結構化時間;

    time.ctime() # 轉成年月日形式

            >>> time.ctime(1753653560.495428)

            'Mon Jul 28 05:59:20 2025'

            >>> time.ctime(time.time()-86640)

            'Sun Jan 24 00:37:24 2016'

    time.asctime()

            >>> time.asctime()

            'Mon Jan 25 02:23:59 2016'

            >>> time.asctime(time.localtime())

            'Mon Jan 25 02:24:09 2016'

    注:time.gmtime()格林威治(0時區)time.localtime()本地時區(東8區),兩種方法相差八小時。

    datetime 

     datetime.date:表示日期的類。常用的屬性有year, month, day

   datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond

   datetime.datetime:表示日期時間

   datetime.timedelta:表示時間間隔,即兩個時間點之間的長度

   timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, 

            hours[, weeks]]]]]]])

   strftime("%Y-%m-%d")

         >>> import datetime

         >>> datetime.datetime.now()

         datetime.datetime(2016, 1, 25, 2, 33, 9, 665769)

         >>> datetime.datetime.now() - datetime.timedelta(seconds=50)

         datetime.datetime(2016, 1, 25, 2, 32, 21, 464165)

         >>> datetime.datetime.now().replace(2014,1,1)

         datetime.datetime(2014, 1, 1, 2, 33, 13, 328845)

         >>> time.localtime().tm_year

         2016

Python内置子產品(一)
Python内置子產品(一)