python學習之路2迭代器和os模組日期

2021-08-22 14:42:14 字數 3152 閱讀 1575

可迭代物件:可以直接作用於for迴圈的物件統稱為可迭代物件(iterable)

用isinstance()來判斷是否為可迭代物件

判斷是否為可迭代物件    isinstance(,iterable)   除了數字,字串,布林值,其他都可以for迴圈,字串也可以

from collections import iterable     不是全域性包,必須指明出處

迭代器:

迭代器必須是乙個可迭代的物件

有兩個基本方法 iter(), next()

我們也可以使用isinstance()來判斷是否為迭代器

迭代器只能不斷往後走,走完以後再走會報stopiteration錯誤

# 迭代器 

collections import iterator  # 匯入迭代器的資料型別

mystriterator = iter("abcd")

print(mystriterator)  # print(isinstance(mystriterator,iterator))  # true 是乙個迭代器

print(isinstance("abcd",iterator))  # false "abcd"是乙個可迭代物件,不為迭代器

# 使用next方法 乙個乙個值的取

# print(next(mystriterator)) # a

print(next(mystriterator))  # b

print(next(mystriterator))  # c

# print(next(mystriterator)) # d

# print(next(mystriterator)) # error stopiteration

# 使用for迴圈遍歷迭代器(會繼續從上次執行的位置,繼續向下執行)

for i in mystriterator:

print(i)

生成器:

函式使用了yield關鍵字 成為生成器

使用了列表生成器 (i for i in range(1000)) 叫做生成器

生成器也可以使用迭代器的next()方法 乙個乙個取值

生成器的好處,節約電腦資源

概念:包含了普遍作業系統的功能

函式名函式說明

os.name

獲取當前作業系統的型別,nt->windows, posix->linux mac

os.environ

獲取作業系統中的所有環境變數

os.getcwd()

獲取當前的工作路徑

os.listdir(path)

以列表的形式返回目錄的檔案

os.mkdir(path)

建立新的目錄,如果檔案存在報錯

os.rmdir(path)

刪除空目錄,如果找不到目錄保錯

os.rename(old,name)

重新命名,並修改檔案路徑

os.remove(filename)

刪除檔案

os.system(cmd)

執行shell命令

os.path.join(dir,filename)

拼湊完整路徑

os.path.isdir()

判斷是否為目錄

os.path.isfile()

判斷是否為檔案

os.path.splitext(path)

獲取檔案的副檔名(將目錄和檔名字尾拆分,例如: .txt),返回元組形式

os.path.exists(path)

判斷檔案或路徑是否存在

os.path.getsize(path)

獲取檔案的位元組數

os.path.dirname(path)

獲取目錄名稱(目錄名)

os.path.basename(path)

獲取檔名

os.path.abspath(path)

獲取當前檔案的絕對路徑

os.path.split(path)

拆分路徑(將目錄和檔名拆分),返回元組的形式

兩個模組

time datetime

概念: 時間戳是指格林威治2023年1月1日00時00分00秒到現在的整數或者浮點數的秒數

time模組常用的函式

函式名函式說明

time.time()

獲取當前的秒數(時間戳)

time.localtime([時間戳]),其中時間戳為可選引數

接收時間戳,返回時間的元組0-6代表周一到週日

time.asctime()

返回格式化後的英文文字時間

time.strftime(格式化時間的佔位符, [時間元組]),其中時間元組可選

格式化時間,預設本地

time.mktime(時間元組)

將時間元組轉為時間戳並返回

time.sleep(秒)

推遲呼叫執行緒的時間

time.strptime("2018-1-5 14:28:00","%y-%m-%d %h:%m:%s")

將指定的時間格式轉換為時間元組

time.clock()

用浮點數計算當前cpu執行某個程式所花費的時間比time.time()更加精準

總結: 給出固定的時間 轉換成時間戳的方式:

python中時間日期格式化符號:(佔位符)

對time模組的封裝 更加直觀

datetime的常用函式

匯入模組

from datetime import datetime # 從庫中匯入模組

import datetime  # 導入庫

函式名函式說明

datetime.now()

返回當前的時間

datetime.datetime(年,月,日,時,分,秒,微秒數)

獲取指定的時間

時間.timestamp()

通過時間返回時間戳

datatime.fromtimestamp(時間戳)

把時間戳轉換為時間

datetime.now().strftime(格式化的符號)

將 now返回的時間格式化為你想要的時間

Python學習之路 迭代器

可直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function.這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable.可以使用isinstan...

Python學習之路 迭代器和生成器

迭代器 能被for迴圈的資料型別 list 列表 dict 字典 str 字元 set 集合 tuple 元組 f open 檔案控制代碼 range enumerate 列舉檢視資料型別含有什麼方法 使用dir print dir 雙下方法 方法名 print dir 檢視方法 print add...

Python學習之路 裝飾器(2)

coding utf 8 def f1 func print in f1 def f1 inner print in f1 inner func return f1 inner def f2 func print in f2 def f2 inner print in f2 inner func r...