Python中的常用的系統模塊中部分函數等的整理 random: 隨機數 sys: 系統相關 os: 系統相關的 subprocess: 執行新的進程 multiprocessing: 進程相關 threading: 線程相關 pickle: 將對象轉換成二進位文件 time: 時間 datetim ...
Python中的常用的系統模塊中部分函數等的整理
- random: 隨機數
- sys: 系統相關
- os: 系統相關的
- subprocess: 執行新的進程
- multiprocessing: 進程相關
- threading: 線程相關
- pickle: 將對象轉換成二進位文件
- time: 時間
- datetime: 基本的日期和時間類型
- timeit: 準確測量小段代碼的執行時間
- urllib: 訪問網路的包
- http.cookielib: 主要作用是提供可存儲cookie的對象
- socket: 套接字相關模塊,處於網路的傳輸層
- getopt: 命令行參數解析
- configparser: 配置文件操作的模塊
- re: 正則表達式
- itertools: 產生不同類型迭代器
- logging: 日誌模塊
- tkinter: 一個視窗模塊
randint(start, end) | 返回一個隨機整數x(start<=x<=end) |
uniform(start, end) | 返回一個隨機浮點數x(start<=x<=end) |
choice(seq) | 從序列seq中返回隨機的元素 |
sample(seq, n) | 從序列seq中選擇n個隨機且獨立的元素 |
random() | 用於生成一個0到1的隨機符點數 |
path | 搜索模塊的路徑(列表) |
version_info.major | python版本 |
getsizeof(name) | 返回 name 變數的記憶體使用量 |
check_output(command, stderr=subprocess.STDOUT, shell=True) | 運行shell命令,返回結果 |
call(args, *,shell=False, cwd=None, timeout=None) | 運行指定命令(shell=True 執行shell命令) |
- class Process: 進程類
- __init__(target, name, args): 創建方法, (進程執行方法, 進程名, 參數(元祖))
- name: 當前進程實例別名, 預設為 Process-1, Process-2...
- pid: 當前進程實例的pid
- start(): 開始執行
- run(): 若沒有給定 target 參數, start 時執行對象中的run()方法
- join(time): 等待進程終止, time為超時時間, 設置後,父進程會等待子進程結束後繼續執行
- isAlive(): 判斷進程是否活動
- terminate(): 立即終止進程
- class Pool: 進程池, 必須在 if __name__ == '__main__': 中執行
- __init__(processes): (最大進程數)
- map(func, iterable): 對迭代器中的每個元素執行func方法, 返回結果列表
- imap(func, iterable): 對迭代器中的每個元素執行func方法, 比 map 方法慢的多,返回迭代器
- imap_unordered(func, iterable): 與 imap 方法相同,只是結果無序
- apply(func, args=()): 執行方法func, 並將 args 參數傳入(阻塞方式), 返回結果用 res.get() 獲取
- apply_async(func, args=()): apply 方法的非同步版本
- terminate(): 立即終止
- close(): 關閉線程池
- join(): 等待 線程池中所有進程執行完畢, 必須放在 close 方法後
- current_thread(): 獲取當前線程的對象
- enumerate(): 返回包含正在運行線程的list
- active_count(): 返回正在運行線程的數量, 等於 enumerate 方法返回值的長度
- class Thread: 線程類
- __init__(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None):
- target: 目標函數
- args: 參數元組
- start(): 開啟線程
- join(time): 等待線程終止, time為超時時間, 若不設置,主線程結束會終結子線程
- isAlive(): 線程是否活動
- getName(): 線程名
- setName(): 設置線程名
- __init__(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None):
- class Lock: 線程鎖
- acquire([blocking]): 上鎖, 返回布爾值 是否成功上鎖
- blocking: 若為True(預設), 則線程阻塞, 若為 False則不會阻塞
- release(): 釋放鎖
- acquire([blocking]): 上鎖, 返回布爾值 是否成功上鎖
dump(data,file) | data是待存儲的數據對象,file是目標存儲的文件對象(要用'wb'的模式open文件) |
load(file) | 將二進位文件轉換成對象(要用'rb'的模式open文件) |
- MINYEAR: date 和 datetime 對象所能支持的最小年份,object.MINYEAR 的值為 1
- MAXYEAR: date 和 datetime 對象所能支持的最大年份,object.MAXYEAR 的值為 9999
- class date: 表示日期的類,常用屬性: year, month, day
- year: 年(只讀)
- month: 月(只讀)
- day: 日(只讀)
- min: date 對象所能表示的最早日期,date(MINYEAR, 1, 1)
- max: date 對象所能表示的最晚日期,date(MAXYEAR, 12, 31)
- resolution: date 對象表示日期的最小單位,在這裡是 1 天,timedelta(days=1)
- today(): 返回一個表示當前本地日期的 date 對象
- fromtimestamp(timestamp): 根據給定的時間戮,返回一個 date 對象
- fromordinal(ordinal): 將 Gregorian 日曆時間轉換為 date 對象(Gregorian Calendar: 一種日曆表示方法,類似於我國的農曆,西方國家使用比較多)
- replace(year, month, day): 生成一個新的日期對象,用參數指定的年、月、日代替原有對象中的屬性
- timetuple(): 返回日期對應的 time.struct_time 對象(類似於 time 模塊的 time.localtime())
- toordinal(): 返回日期對應的 Gregorian Calendar 日期
- weekday(): 返回 0 ~ 6 表示星期幾(星期一是 0,依此類推)
- isoweekday(): 返回 1 ~ 7 表示星期幾(星期一是1, 依此類推)
- isocalendar(): 返回一個三元組格式 (year, month, day)
- isoformat(): 返回一個 ISO 8601 格式的日期字元串,如 "YYYY-MM-DD" 的字元串
- __str__(): 對於 date 對象 d 來說,str(d) 相當於 d.isoformat()
- ctime(): 返回一個表示日期的字元串,相當於 time 模塊的 time.ctime(time.mktime(d.timetuple()))
- strftime(format): 返回自定義格式化字元串表示日期,下麵有詳解
- __format__(format): 跟 date.strftime(format) 一樣,這使得調用 str.format() 時可以指定 data 對象的字元串
- strftime(format): 將指定的日期或時間轉換為自定義的格式化字元串
- format: 字元串,同 time
- class time: 表示時間的類,常用屬性: hour, minute, second, microsecond, tzinfo
- hour: 時(只讀)
- minute: 分(只讀)
- second: 秒(只讀)
- microsecond: 微秒(只讀)
- tzinfo: 通過構造函數的 tzinfo 參數賦值(只讀)
- min: time 對象所能表示的最早時間,time(0, 0, 0, 0)
- max: time 對象所能表示的最晚時間,time(23, 59, 59, 999999)
- resolution: time 對象表示時間的最小單位,在這裡是 1 毫秒, timedelta(microseconds=1)
- replace([hour[, minute[, second[, microsecond[, tzinfo]]]]]): 生成一個新的時間對象,用參數指定時間代替原有對象中的屬性
- isoformat(): 返回一個 ISO 8601 格式的日期字元串,如 "HH:MM:SS.mmmmmm" 的字元串
- __str__(): 對於 time 對象 t 來說,str(t) 相當於 t.isoformat()
- strftime(format): 返回自定義格式化字元串表示時間,下麵有詳解
- __format__(format): 跟 time.strftime(format) 一樣,這使得調用 str.format() 時可以指定 time 對象的字元串
- utcoffset(): 如果 tzinfo 屬性是 None,則返回 None;否則返回 self.tzinfo.utcoffset(self)
- dst(): 如果 tzinfo 屬性是 None,則返回 None;否則返回 self.tzinfo.dst(self)
- tzname(): 如果 tzinfo 屬性是 None,則返回 None;否則返回 self.tzinfo.tzname(self)
- strftime(format): 將指定的日期或時間轉換為自定義的格式化字元串
- class datetime: 是 date 對象和 time 對象的結合體,並且包含他們的所有信息,常用屬性: year, month, day, hour, minute, second, microsecond, tzinfo
- year: 年(只讀)
- month: 月(只讀)
- day: 日(只讀)
- hour: 時(只讀)
- minute: 分(只讀)
- second: 秒(只讀)
- microsecond: 微妙(只讀)
- tzinfo: 通過構造函數的 tzinfo 參數賦值(只讀)
- min: datetime 對象所能表示的最早日期,datetime(MINYEAR, 1, 1, tzinfo=None)
- max: datetime 對象所能表示的最晚日期,datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999, tzinfo=None)
- resolution: datetime 對象表示日期的最小單位,在這裡是 1 毫秒,timedelta(microseconds=1)
- today(): 返回一個表示當前本地時間的 datetime 對象,等同於 datetime.fromtimestamp(time.time())
- now(tz=None): 返回一個表示當前本地時間的 datetime 對象;如果提供了參數 tz,則獲取 tz 參數所指時區的本地時間
- utcnow(): 返回一個當前 UTC 時間的 datetime 對象
- fromtimestamp(timestamp, tz=None): 根據時間戮創建一個 datetime 對象,參數 tz 指定時區信息
- utcfromtimestamp(timestamp): 根據時間戮創建一個 UTC 時間的 datetime 對象
- fromordinal(ordinal): 返回對應 Gregorian 日曆時間對應的 datetime 對象
- combine(date, time): 根據參數 date 和 time,創建一個 datetime 對象
- strptime(date_string, format): 將格式化字元串轉換為 datetime 對象
- date(): 返回一個 date 對象datetime.time() - 返回一個 time 對象(tzinfo 屬性為 None)
- timetz(): 返回一個 time() 對象(帶有 tzinfo 屬性)
- replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]]): 生成一個新的日期對象,用參數指定日期和時間代替原有對象中的屬性
- astimezone(tz=None): 傳入一個新的 tzinfo 屬性,返回根據新時區調整好的 datetime 對象
- utcoffset(): 如果 tzinfo 屬性是 None,則返回 None;否則返回 self.tzinfo.utcoffset(self)
- dst(): 如果 tzinfo 屬性是 None,則返回 None;否則返回 self.tzinfo.dst(self)
- tzname(): 如果 tzinfo 屬性是 None,則返回 None;否則返回 self.tzinfo.tzname(self)
- timetuple(): 返回日期對應的 time.struct_time 對象(類似於 time 模塊的 time.localtime())
- utctimetuple(): 返回 UTC 日期對應的 time.struct_time 對象
- toordinal(): 返回日期對應的 Gregorian Calendar 日期(類似於 self.date().toordinal())
- timestamp(): 返回當前時間的時間戳(類似於 time 模塊的 time.time())
- weekday(): 返回 0 ~ 6 表示星期幾(星期一是 0,依此類推)
- isoweekday(): 返回 1 ~ 7 表示星期幾(星期一是1, 依此類推)
- isocalendar(): 返回一個三元組格式 (year, month, day)
- isoformat(sep='T'): 返回一個 ISO 8601 格式的日期字元串,如 "YYYY-MM-DD" 的字元串
- __str__(): 對於 date 對象 d 來說,str(d) 相當於 d.isoformat()
- ctime(): 返回一個表示日期的字元串,相當於 time 模塊的 time.ctime(time.mktime(d.timetuple()))
- strftime(format): 返回自定義格式化字元串表示日期
- __format__(format): 跟 datetime.strftime(format) 一樣,這使得調用 str.format() 時可以指定 data 對象的字元串
- class timedelta: 表示時間間隔,即兩個時間點(date,time,datetime)之間的長度(可以與時間日期做加減法)
- __init__(years, months, days, hours, minutes, seconds, microseconds): 創建
- days: 天數(只讀)
- seconds: 秒數(只讀)
- microseconds: 微妙數(只讀)
- min: timedelta 對象負值的極限,timedelta(-999999999)
- max: timedelta 對象正值的極限,timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
- resolution: 兩個 timedelta 不相等的對象之間最小的差值,timedelta(microseconds=1)
- total_seconds(): 返回 timedelta 對象所包含的總秒數
- class tzinfo: 表示時區的基類,為上方的 time 和 datetime 類提供調整的基準
- class timezone: 表示 UTC 時區的固定偏移,是 tzinfo 基類的實現
- timeit(stmt='pass', setup='pass', timer=<default timer>, number=1000000): 創建一個 Timer 實例
- stmt: 需要測量的語句或函數
- setup: 初始化代碼或構建環境的導入語句
- timer: 計時函數
- number: 每一次測量中語句被執行的次數
- repeat(stmt='pass', setup='pass', timer=<default timer>, repeat=3, number=1000000): 創建一個 Timer 實例
- repeat: 重覆測量的次數
- default_timer(): 預設的計時器,一般是 time.perf_counter(),time.perf_counter() 方法能夠在任一平臺提供最高精度的計時器(它也只是記錄了自然時間,記錄自然時間會被很多其他因素影響,例如電腦的負載)。
- class Timer(stmt='pass', setup='pass', timer=<timer function>): 計算小段代碼執行速度的類
- 構造函數需要的參數有(stmt, setup, timer)。前兩個參數的預設值都是 'pass',timer 參數是平臺相關的;前兩個參數都可以包含多個語句,多個語句間使用分號(;)或新行分隔開。
- timeit(number=1000000): 計算語句執行 number 次的時間
- repeat(repeat=3, number=1000000): 重覆調用 timeit() repeat次
- print_exc(file=None): 輸出計時代碼的回溯(Traceback)
- file: 指定將回溯發送的位置
- request: 打開url(主要是HTTP),併進行身份驗證、再導航、cookie等等。
- urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None): 打開一個url鏈接, 鏈接成功返回一個HTTPResponse類
- url: 字元串或Request對象
- class HTTPResponse:
- begin(self)
- close(self): 關閉鏈接
- flush(self): 刷新寫緩衝區
- getcode(self): 返迴響應碼
- getheader(self, name, default=None): 返回name的響應頭
- getheaders(self): 返回元組,元素為頭信息(header, value)
- info(self): 返迴響應頭信息,是一個HTTPMessage類
- geturl(self): 返回頁面的實際URL。
- isclosed(self): 如果鏈接是關閉的返回True
- peek(self, n=-1)
- read(self, amt=None): 讀取並返回到n個位元組。如果省略了這個參數,沒有,或者是負的,讀取返回所有數據
- readline(self, limit=-1): 從流中讀取並返回一行。如果指定大小,讀取指定位元組數
- class Request:
- __init__(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
- data: 若被賦值,以post方式提交,預設為get方式,字元串使用urllib.parse.urlencode()方法進行處理
- headers: 請求頭,是一個字典
- add_header(key, value): 將key:value添加導頭信息中
- add_data(key, value): 添加提交信息
- __init__(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
- HTTPCookieProcessor(cookiejar): 用來處理cookie, 返回一個 HTTPCookieProcessor 類
- build_opener(handlers): 創建一個opener對象
- handlers: 可以時cookie,代理等, cookie需要使用HTTPCookieProcessor(處理)
- class opener: urlopen()方法是它的一個實現,用於打開鏈接
- open(Request): 使用Request類打開鏈接
- urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None): 打開一個url鏈接, 鏈接成功返回一個HTTPResponse類
- error: 異常處理模塊
- parse: 對url進行處理的模塊
- urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus): 對post請求的表單進行處理
- unquote(string, encoding='utf-8', errors='replace') : 將url(%2B等)轉換成正常字元串
- robotparser: robots.txt解析模塊
http.cookielib: 主要作用是提供可存儲cookie的對象
- class CookieJar: 一個用來保存Cookie的類
- class FileCookieJar:
- class MozillaCookieJar: 將Cookie保存到文件中
- save(filename=None, ignore_discard=False, ignore_expires=False): 將cookie保存到filename文件中
- ignore_discard: 為True,即使cookies將被丟棄也將它保存下來
- ignore_expires: 為True,如果在該文件中cookies已經存在,則覆蓋原文件寫入
- load(filename=None, ignore_discard=False, ignore_expires=False): 將cookie從文件中取出
- save(filename=None, ignore_discard=False, ignore_expires=False): 將cookie保存到filename文件中
- class LWPCookieJar:
- socket(family=AF_INET, type=SOCK_STREAM): 創建一個套接字, 返回 socket 類
- family: 套接字所屬協議
- AF_INET: ipv4(預設)
- AF_INET6: ipv6
- type: 套接字類型
- SOCK_STREAM: tcp連接(預設)
- SOCK_DGRAM: udp連接
- family: 套接字所屬協議
- class socket: 套接字連接的類
- connect(address): 連接到遠程伺服器, 一般在tcp連接時使用
- address: (ip, 埠)
- send(bytes): 發送數據,一般在tcp連接時使用
- sendto(bytes, address): 發送數據,一般在udp連接時使用
- bind(address): 將套接字綁定到指定地址
- listen([backlog]): 啟動監聽
- backlog: 最大連接數
- accept(): 接受一個連接, 必須先啟動監聽, 返回客戶端套接字對象和連接來源
- getpeername(): 返回連接的遠程地址
- recv(bufsize): 從套接字接收數據
- bufsize: 一次接收的最大數據量
- recvfrom(bufsize): 從套接字接收數據,返回 數據,地址
- close(): 關閉套接字連接
- connect(address): 連接到遠程伺服器, 一般在tcp連接時使用
- getopt(args, shortopts, longopts = []): 讀取命令行參數使用,返回 解析的參數列表,其他參數
- args: 參數,一般為 sys.argv[1:]
- shortopts: 短參數(-a)
- 'ab:c': 沒有':'不跟參數, b 後跟參數
- longopts: 長指令(--a)
- ['abc', 'bcd=', 'cde']: 沒有'='不跟參數
- class ConfigParser: 配置文件操作類
- read(path, encoding): 打開指定文件
- sections(): 獲取所有的域
- options(sectionname): 獲取指定域下的所有key
- items(sectionname): 獲取指定域下的所有 (key, value) 對
- get(sectionname,key): 獲取指定域下key對應的value
- add_section(sectionname): 添加域, 添加完成後需要寫入
- set(sectionname, key, value): 在指定域添加一條配置, 添加完成後需要寫入
- write(file): 寫入文件
- file: open(path, 'w', encoding)
- 配置文件:
[sectionname1] key1 = value1
- search(pattern, string, flags=0): 查找字元串於正則表達式匹配的第一個位置,返回 match 類
- 正則表達式字元串前邊最好加上'r'
- match(pattern,string): 在字元串開始處匹配, 返回 Match 對象(可以使用group方法返回匹配部分)
- compile(pattern): 創建指定正則表達式的模式對象, 當再次search時不用指定正則表達式
- split(pattern,string): 根據模式分割字元串,返回列表
- findall(pattern,string): 列表形式返回匹配項
- sub(pat,repl,string) : 用 repl 替換 pat 匹配項
- escape(string) : 對字元串裡面的特殊字元串進行轉義
- count(start=0, step=1): 創建一個從 start 開始,以 step 為步長的的無限整數迭代器
- cycle(iterable): 對 iterable 中的元素反覆執行迴圈,返回迭代器
- repeat(object [,times]: 反覆生成 object
- times: 給定重覆次數,否則為無限
- chain(iterable1, iterable2, ...): 將多個可迭代對象連接起來,作為一個新的迭代器返回
- compress(data, selectors): 對數據進行篩選
- data: 數據集合
- selectors: 對data進行篩選的標準,當 selectors 元素為true是,保留 data 對應位置的元素,否則去除
- dropwhile(predicate, iterable): 對集合中的數據進行篩選
- predicate: 函數,對於 iterable 中的元素,如果 predicate(item) 為 true,則丟棄該元素,否則返回該項及所有後續項。
- iterable: 可迭代對象
- groupby(iterable[, keyfunc]): 對序列進行分組
- iterable: 一個可迭代對象
- keyfunc: 分組函數,用於對 iterable 的連續項進行分組,如果不指定,則預設對 iterable 中的連續相同項進行分組,返回一個 (key, sub-iterator) 的迭代器
- combinations(iterable, r): 對 iterable 以每組r個進行分組,列出所有可能(不打亂順序,只與後邊的進行組合),返回迭代器
- permutations(iterable, r=None): 對 iterable 以每組r個進行分組,列出所有可能,返回迭代器
- basicConfig(**kwargs): 設置全局配置
- filename: 即日誌輸出的文件名,如果指定了這個信息之後,實際上會啟用 FileHandler,而不再是 StreamHandler,這樣日誌信息便會輸出到文件中了
- filemode: 這個是指定日誌文件的寫入方式,有兩種形式,一種是 w,一種是 a,分別代表清除後寫入和追加寫入
- format: 指定日誌信息的輸出格式,詳細參數可以參考: https://docs.python.org/3/library/logging.html?highlight=logging%20threadname#logrecord-attributes
- %(levelno)s: 列印日誌級別的數值
- %(levelname)s: 列印日誌級別的名稱
- %(pathname)s: 列印當前執行程式的路徑,其實就是sys.argv[0]
- %(filename)s: 列印當前執行程式名
- %(funcName)s: 列印日誌的當前函數
- %(lineno)d: 列印日誌的當前行號
- %(asctime)s: 列印日誌的時間
- %(thread)d: 列印線程ID
- %(threadName)s: 列印線程名稱
- %(process)d: 列印進程ID
- %(processName)s: 列印線程名稱
- %(module)s: 列印模塊名稱
- %(message)s: 列印日誌信息
- datefmt: : 指定時間的輸出格式
- style: 如果 format 參數指定了,這個參數就可以指定格式化時的占位符風格,如 %、{、$ 等
- level: 指定日誌輸出的類別,程式會輸出大於等於此級別的信息
- stream: 在沒有指定 filename 的時候會預設使用 StreamHandler,這時 stream 可以指定初始化的文件流
- handlers: 可以指定日誌處理時所使用的 Handlers,必須是可迭代的
- Formatter(fmt,datefmt): 設置日誌信息輸出格式
- FileHandler(filename): 指定日誌輸出的文件名, 返回 Handler 對象
- StreamHandler: 日誌輸出到流,可以是 sys.stderr,sys.stdout 或者文件。
- addHandler(handler): 將 Handler 對象配置添加
- class Handler:
- setFormatter(formatter): 設置日誌信息輸出格式, formatter對象通過 logging.Formatter(str) 獲得
- handlers: handler 模塊
- BaseRotatingHandler;基本的日誌回滾方式。
- RotatingHandler: 日誌回滾方式,支持日誌文件最大數量和日誌文件回滾。
- TimeRotatingHandler: 日誌回滾方式,在一定時間區域內回滾日誌文件。
- SocketHandler: 遠程輸出日誌到TCP/IP sockets。
- DatagramHandler: 遠程輸出日誌到UDP sockets。
- SMTPHandler: 遠程輸出日誌到郵件地址。
- SysLogHandler: 日誌輸出到syslog。
- NTEventLogHandler: 遠程輸出日誌到Windows NT/2000/XP的事件日誌。
- MemoryHandler: 日誌輸出到記憶體中的指定buffer。
- HTTPHandler: 通過”GET”或者”POST”遠程輸出到HTTP伺服器。
- 日誌級別(屬性):
- CRITICAL: 50
- ERROR: 40
- WARNING: 30
- INFO: 20
- DEBUG: 10
- NOTSET: 0
- getLogger(modelName): 拿到 Logger 對象,進行日誌輸出
- class Logger: 進行日誌操作的對象
- info(msg): 輸出 info 級別日誌
- debug(msg): 輸出 debug 級別日誌
- warning(msg): 輸出 warning 級別日誌
- setLevel(lavel): 設置日誌輸出的類別,程式會輸出大於等於此級別的信息
- 控制項:
- Button: 按鈕控制項;在程式中顯示按鈕。
- Canvas: 畫布控制項;顯示圖形元素如線條或文本
- Checkbutton: 多選框控制項;用於在程式中提供多項選擇框
- Entry: 輸入控制項;用於顯示簡單的文本內容
- Frame: 框架控制項;在屏幕上顯示一個矩形區域,多用來作為容器
- Label: 標簽控制項;可以顯示文本和點陣圖
- Listbox: 列表框控制項;在Listbox視窗小部件是用來顯示一個字元串列表給用戶
- Menubutton: 菜單按鈕控制項,由於顯示菜單項。
- Menu: 菜單控制項;顯示菜單欄,下拉菜單和彈出菜單
- Message: 消息控制項;用來顯示多行文本,與label比較類似
- Radiobutton: 單選按鈕控制項;顯示一個單選的按鈕狀態
- Scale: 範圍控制項;顯示一個數值刻度,為輸出限定範圍的數字區間
- Scrollbar: 滾動條控制項,當內容超過可視化區域時使用,如列表框。.
- Text: 文本控制項;用於顯示多行文本
- Toplevel: 容器控制項;用來提供一個單獨的對話框,和Frame比較類似
- Spinbox: 輸入控制項;與Entry類似,但是可以指定輸入範圍值
- PanedWindow: PanedWindow是一個視窗佈局管理的插件,可以包含一個或者多個子控制項。
- LabelFrame: labelframe 是一個簡單的容器控制項。常用與複雜的視窗佈局。
- tkMessageBox: 用於顯示你應用程式的消息框。
- Tk(): 實例化一個對象,返回一個Tk對象
- class Tk: 是一個頂層視窗
- title(titel): 設置視窗的標題
- mainloop(): 顯示視窗,進入視窗迴圈
- quit(): 退出
- class Tk: 是一個頂層視窗
- Label(tk|Frame, text=''[, textvariable, image, justify, compound, fount]): 設置視窗要顯示的內容,返回一個Label對象
- textvariable: 一個文本變數,可以使用 StringVar, IntVar 等
- image: 圖片顯示需要一個 tkinter.PhotoImage 對象
- class PhotoImage: 描述圖片的類
- __init__(file='路徑')
- justify: 對齊方式 tkinter.LEFT(左對齊) tkinter.RIGHT(右對齊) tkinter.CENTER(居中,預設)
- compound: 設置圖片與文字的相對關係
- tkinter.CENTER(文字在圖片上方)
- fount: 設置字體 fount = ('字體', 大小)
- class Label:
- pack([side, padx, padxy, anchor, fill]): 將設置提交, 無參時自動調節組件的尺寸位置
- side: 設置組件的位置, 有tkinter.LEFT,tkinter.RIGHT等
- padx: 設置組件與x軸的間距
- pady: 設置組件與y軸的間距
- anchor: 對齊方式, tkinter.W(左對齊)等
- fill: 是否填充,tkinter.X(橫向填充), tkinter.Y(縱向填充)
- grid(row, column[padx, pady, sticky]): 將控制項以用列表的形式提交
- row: 行,從0開始
- column: 列,從0開始
- sticky: 對齊方式, tkinter.W(左對齊)等
- pack([side, padx, padxy, anchor, fill]): 將設置提交, 無參時自動調節組件的尺寸位置
- Frame(tk): 創建一個框架,返回Frame對象,需要提交
- Button(tk|frame, text='',bg='背景色', fg='前景色', command=點擊方法): 創建一個按鈕,返回一個Button對象,需要提交
- Checkbutton(tk|frame, text='', variable=IntVar): 多選框,返回 Checkbutton 對象,需要提交
- variable: 當選中狀態,值為1,未選中狀態值為0
- Radiobutton(tk|frame, text='', variable=IntVar, value=1[, indicatoron]): 單選框,返回Radiobutton對象,需要提交
- variable: 同一組單選框,給定同一個variable
- value: 指定該單選框選中時 variable 的值,同一組單選框的 value 值需不同
- indicatoron: 指定是否顯示文本前的選擇框,預設True
- LabelFrame(tk|frame, text='', padx, pady): 一個容器框架,將其他控制項顯示在 LabelFrame 中,需要提交
- padx: 設置容器與x軸的距離
- pady: 設置容器與y軸的距離
- Entry(tk|frame[, textvariable, show...]): 輸入框,返回 Entry 對象,需要提交
- textvariable: 傳入一個變數,用於保存輸入
- show: 所有的輸入都使用show顯示,如需要密碼輸入 show='*', 則所有的輸入都是'*'
- validate: 是否開啟驗證功能
- focus: 當獲得或失去焦點時
- focusin: 當獲得焦點時
- focusout: 當失去焦點時
- key: 當輸入框被編輯時
- all: 當出現上邊任何一種情況時
- none: 不驗證(預設)
- validatecommand: 驗證函數,返回True或False
- invalidcommand: 非法輸入函數,當驗證函數返回False時調用此函數
- class Entry:
- delete(a, b): 刪除輸入框中的指定內容,tkinter.END表示最後
- insert(a, str): 將str插入到輸入框的a位置處
- get(): 獲取輸入框中的內容
- Listbox(tk|frame, ): 一個列表容器,返回Listbox對象,需要提交
- class Listbox:
- insert(a, str): 在列表的a(tkinter.END表示最後)位置添加字元串str
- delete(a[, b]): 刪除列表a位置的內容, 指定b,刪除a到b的內容
- class Listbox: