開始有一些朋友提出問題,問我說為什麼寫了這麼多天,還在基本運用裡面打轉 ?
在這裡我一次統一回答好了。
對於我來說,掌握一門新的語言,其實並不難,就多寫多看,其實你會發現,基本上換湯不換藥,就是語法改變而已;那麼為什麼到現在還在基本運用呢 ? 很簡單,你連人家語法的基本運用都沒看過,之後你就不會有新的思路去寫比較難的東西,你會用你原本會的語言,去寫這一個東西,但或許,人家早已經有了更好的方式了。
這就是我寧可花多一點時間,將基礎先打好的原因,因為我自己知道,基礎打得好,以後這玩意怎麼變化,啊不就都這樣嗎=____=?
Module
Module 是一個包含所有你定義的函數和變量的文件,其後綴名為.py,Module可以被別的程序引入,以使用該Module的函數等功能。
淺談 OS Module
使用方式 import os
os.函數名()
函數名 |
使用方法 |
getcwd() |
返回當前工作目錄 |
chdir(path) |
改變工作目錄 |
listdir(path='.') |
列舉指定目錄中的檔案名('.'表示目前的目錄,'..'表示上一級目錄) |
mkdir(path) |
創建單層目錄,如該目錄已存在拋出異常 |
makedirs(path) |
遞迴創建多層目錄,如該目錄已存在拋出異常,注意:'E:\\a\\b'和'E:\\a\\c'並不會衝突 |
remove(path) |
刪除檔 |
rmdir(path) |
刪除單層目錄,如該目錄非空則拋出異常 |
removedirs(path) |
遞迴刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則拋出異常 |
rename(old, new) |
將檔old重命名為new |
system(command) |
運行系統的shell命令 |
walk(top) |
遍歷top路徑以下所有的子目錄,返回一個三元組:(路徑, [包含目錄], [包含檔])【具體實現方案請看:第30講課後作業^_^】 |
以下是支援路徑操作中常用到的一些定義,支持所有平臺 |
|
os.curdir |
指代目前的目錄('.') |
os.pardir |
指代上一級目錄('..') |
os.sep |
輸出作業系統特定的路徑分隔符號(Win下為'\\',Linux下為'/') |
os.linesep |
當前平臺使用的行結束字元(Win下為'\r\n',Linux下為'\n') |
os.name |
指代當前使用的作業系統(包括:'posix', 'nt', 'mac', 'os2', 'ce', 'java') |
os.path模組中關於路徑常用的函數使用方法
函數名 |
使用方法 |
basename(path) |
去掉目錄路徑,單獨返回檔案名 |
dirname(path) |
去掉檔案名,單獨返回目錄路徑 |
join(path1[, path2[, ...]]) |
將path1, path2各部分組合成一個路徑名 |
split(path) |
分割檔案名與路徑,返回(f_path, f_name)元組。如果完全使用目錄,它也會將最後一個目錄作為檔案名分離,且不會判斷檔或者目錄是否存在 |
splitext(path) |
分離檔案名與副檔名,返回(f_name, f_extension)元組 |
getsize(file) |
返回指定檔的尺寸,單位是位元組 |
getatime(file) |
返回指定檔最近的存取時間(浮點型秒數,可用time模組的gmtime()或localtime()函數換算) |
getctime(file) |
返回指定檔的創建時間(浮點型秒數,可用time模組的gmtime()或localtime()函數換算) |
getmtime(file) |
返回指定檔最新的修改時間(浮點型秒數,可用time模組的gmtime()或localtime()函數換算) |
以下為函數返回 True 或 False |
|
exists(path) |
判斷指定路徑(目錄或檔)是否存在 |
isabs(path) |
判斷指定路徑是否為絕對路徑 |
isdir(path) |
判斷指定路徑是否存在且是一個目錄 |
isfile(path) |
判斷指定路徑是否存在且是一個檔 |
islink(path) |
判斷指定路徑是否存在且是一個符號連結 |
ismount(path) |
判斷指定路徑是否存在且是一個掛載點 |
samefile(path1, paht2) |
判斷path1和path2兩個路徑是否指向同一個檔 |