OS 模塊(一)
獲取當前工作目錄,即當前Python腳本工作的目錄路徑
>> os.getcwd()
‘E:\python‘
os.chdir(path)
改變當前腳本工作目錄
>> os.chdir("e:\")
>> os.getcwd()
‘e:\‘
os.curdir 沒有參數
返回當前目錄”.”
>> os.curdir
‘.‘
os.pardir 沒有參數
返回當前目錄的父目錄‘..‘
>> os.pardir
‘..‘
os.name 沒有參數
獲取當前操作系統的類型(其中 ‘nt’ 是 windows,’posix’ 是
>> os.name
‘nt‘
os.mkdir(path [, mode=0777])
創建單級目錄,參數mode表示生成的目錄的權限,默認是超級權限,也就是0777
Linux下有有效
如果創建目錄不指定具體路徑,在當前工作目錄下創建
>> os.mkdir("e:\python-hhq")#在e盤下生成python-hhq目錄
>> os.listdir("e:\")
[‘$RECYCLE.BIN‘, ‘360Downloads‘, ‘360\xc7\xfd\xb6\xaf\xb4\xf3\xca\xa6\xc4\xbf\xc2\kDownload‘, ‘bookmarks-2018-05-24f.json‘, ‘bookmarks_2018_5_24.html‘, ‘err.txt‘, ‘
xt‘, ‘python‘, ‘python-hhq‘, ‘StormMedia‘,
os.makedirs(path [, mode=0777])
可生成多層遞歸目錄,父目錄如果不存在,遞歸生成。
參數mode表示生成的目錄的權限,默認是超級權限,也就是0777
>> os.makedirs("e:\python\hhq")
在e盤python目錄面新建hhq目錄,如果python不存在的,創建python目錄
os.removedirs(path)
若目錄為空,則刪除,並遞歸到上一級目錄,如若也為空,則刪除,依次類推
>> os.removedirs("e:\python\python-2\a")
os.rmdir(path)
刪除單級空目錄,若目錄不為空則無法刪除
>> os.rmdir("e:\python\hhq")
os.listdir(path)
列出指定目錄下的所有文件和子目錄,包括隱藏文件或目錄,並以列表形式
返回。
>> os.listdir("e:\python")
[‘222.txt‘, ‘3.jpg‘, ‘hu.txt‘, ‘modul.py‘, ‘modul.pyc‘, ‘new.txt‘, ‘nine.py‘, ‘pyt
, ‘reverse.txt‘, ‘ten.py‘]
os.remove(filepath)
刪除指定的文件,只能刪除文件
>> os.remove("e:\python\222.txt")
os.rename(oldname,newname)
重命名文件或目錄
>> os.rename("e:\python\hu.txt","e:\hu1.txt")
>> os.rename("e:\python\new.txt","e:\python\new-1.txt")
>> os.rename("e:\python\python-1","e:\python\python1-1")
os.utime(path[, (atime, mtime)])
修改文件的時間屬性,設置文件的access and modified time為給定的時間,
如果未指定atime和mtime參數,修改的時間將會是當前的時間
>> os.utime("e:\python\hu.txt",(1234567,10236547))
os.tmpfile()
已“w+b”的模式創建並打開一個臨時文件
import os
file = os.tmpfile()
file.write("hi1\n")
file.write("hi2\n")
file.write("hi3\n")
file.seek(0)
for i in file:
print i
print file
file.close()
執行結果:
hi1
hi2
hi3
<open file ‘<tmpfile>‘, mode ‘w+b‘ at 0x00000000026C8540>
os.sep
輸出操作系統的路徑分割符
>> os.sep
‘\‘
os.pathsep
輸出用於分割文件路徑的字符串。
>> os.pathsep
‘;‘
os.linesep
輸出當前平臺使用的行終止符,win下為“\r\n”,Linux下為“\n”,Mac使用‘\r‘
>> os.linesep
‘\r\n‘
os.environ
獲取系統的環境變量,返回一個字典
>> os.environ
{‘TMP‘: ‘C:\Users\hhq\AppData\Local\Temp‘, ‘COMPUTERNAME‘: ‘HHQ-PC‘, ‘USERDOMAIN‘: ‘hhq-PC‘, ‘PSMODULEPATH‘: ‘C:\Windows\system32\WindowsPowerShell\v1.0\Modules\‘, ‘COMMONPROGRAMFILES‘: ‘C:
\Program Files\Common Files‘, ‘PROCESSOR_IDENTIFIER‘: ‘Intel64 Family 6 Model 60 Stepping 3, Genui
neIntel‘, ‘PROGRAMFILES‘: ‘C:\Program Files‘, ‘PROCESSOR_REVISION‘: ‘3c03‘, ‘SYSTEMROOT‘: ‘C:\Windows‘, ‘PATH‘: ‘d:\ProgramData\Anaconda2;d:\ProgramData\Anaconda2\Library\mingw-w64\bin;d:\ProgramData\Anaconda2\Library\usr\bin;d:\ProgramData\Anaconda2\Library\bin;d:\ProgramData\Anaconda2\Scripts;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Lenovo\Fingerprint Manager Pro\;D:\Python27‘, ‘PROGRAMFILES(X86)‘: ‘C:\Program Files (x86)‘, ‘WINDOWS_TRACING_FLAGS‘: ‘3‘, ‘TEMP‘: ‘C:\Users\hhq\AppData\Local\Temp‘, ‘COMMONPROGRAMFILES(X86)‘: ‘C:\Program Files (x86)\Common Files‘, ‘PROCESSOR_ARCHITECTURE‘: ‘AMD64‘, ‘ALLUSERSPROFILE‘: ‘C:\ProgramData‘, ‘LOCALAPPDATA‘: ‘C:\Users\hhq\AppData\Local‘, ‘HOMEPATH‘: ‘\Users\hhq‘, ‘PROGRAMW6432‘: ‘C:\Program Files‘, ‘USERNAME‘: ‘hhq‘, ‘LOGONSERVER‘: ‘\\HHQ-PC‘, ‘PROMPT‘: ‘$P$G‘, ‘SESSIONNAME‘: ‘Console‘, ‘PROGRAMDATA‘: ‘C:\ProgramData‘, ‘PATHEXT‘: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC‘, ‘FP_NO_HOST_CHECK‘: ‘NO‘, ‘WINDIR‘: ‘C:\Windows‘, ‘WINDOWS_TRACING_LOGFILE‘: ‘C:\BVTBin\Tests\installpackage\csilogfile.log
‘, ‘HOMEDRIVE‘: ‘C:‘, ‘SYSTEMDRIVE‘: ‘C:‘, ‘COMSPEC‘: ‘C:\Windows\system32\cmd.exe‘, ‘NUMBER_OF_PROCESSORS‘: ‘8‘, ‘APPDATA‘: ‘C:\Users\hhq\AppData\Roaming‘, ‘PROCESSOR_LEVEL‘: ‘6‘, ‘COMMONPROGR
AMW6432‘: ‘C:\Program Files\Common Files‘, ‘OS‘: ‘Windows_NT‘, ‘PUBLIC‘: ‘C:\Users\Public‘, ‘USERPROFILE‘: ‘C:\Users\hhq‘}
os.system(command)
執行系統命令
>> os.system("dir")
>> os.system("dir e:\")
os.access(path, mode)
輸出文件權限模式
W寫,R讀,X可執行,輸出True,False。
#encoding=utf-8
import os
print os.access(r‘e:\python\1.txt‘, os.W_OK)
print os.access(r‘e:\python\1.tx‘, os.R_OK)
print os.access(r‘e:\python\1.tx‘, os.X_OK)
os.chmod(path, mode)
linux下修改文件的權限。
>> os.chmod("1.txt",777)
>> os.chmod("1.txt",1)
>> os.chmod("1.txt",111)
os.popen(command [, mode=‘r‘ [, bufsize]])
運行shell命令,並返回一個文件對象。然後通過操作文件的方法去操作這個
文件對象。
>> dirList = os.popen("dir e:\python")
>> content = dirList.read()
>> print content
驅動器 E 中的卷是 文檔
卷的序列號是 0697-BA86
e:\python 的目錄
2018/05/30 15:39 <DIR> .
2018/05/30 15:39 <DIR> ..
2018/05/25 14:35 0 3.jpg
2018/05/30 16:25 10 hu.txt
2018/05/29 15:39 18 modul.py
2018/05/29 15:39 129 modul.pyc
2018/05/29 14:57 837 new-1.txt
2018/05/30 09:18 350 nine.py
2018/05/30 15:15 <DIR> python-2
2018/05/28 17:12 <DIR> python1-1
2018/05/24 17:08 32 reverse.txt
2018/05/30 14:46 173 ten.py
8 個文件 1,549 字節
OS 模塊(一)