前言
我們經常會與文件和目錄打交道,對于這些操作python提供了一個os模塊,里面包含了很多操作文件和目錄的函數。在寫一些系統腳本或者自動化運維腳本的時候經常會用到這個 os 庫,所以這里做個整理,方便需要的時候或者需要的朋友查找學習,下面話不多說,來一起看看詳細的介紹吧。
1、os.sep
獲得當前操作系統使用的目錄分隔符,比如 Windows 就會得到/而 Linux/Unix 就會得到/
os.name
獲得當前使用的操作系統,Windows 是 NT 內核,所以會得到nt,而 Linux/Unix 用戶則會得到posix
2、os.getcwd()
獲得當前工作目錄,即當前 Python 腳本工作的目錄路徑。
3、os.getenv()
用來獲得環境變量
os.getenv('PATH') 4、os.environ
可以獲取并修改環境變量
print(os.environ['PATH'])os.environ += 'D:/testdir/bin/'print(os.environ["PATH"])
5、os.listdir()
列出某目錄下所有的目錄和文件
print(os.listdir())
6、os.remove()
刪除文件
os.remove('D:/test.file') 7、os.system()
運行 Shell 或者 CMD 命令
os.system('ifconfig') 8、os.linesep
獲取當前平臺使用的行終止符。例如,Windows 使用/r/n,Linux 使用/n而 Mac 使用/r。
9、os.path.split()
獲得一個列表,list[0] 是路徑的,list[1] 是文件名
path = 'D:/game/gtav/bin/gtav.exe'print(os.path.split(path)[0])print(os.path.split(path)[1])
10、os.path.isfile() 和 os.path.isdir()
判斷路徑是不是文件 / 目錄
print(os.path.isfile('D:/game/gtav/bin/gtav.exe'))print(os.path.isdir('D:/game/gtav/bin')) 11、os.path.existe()
函數用來檢驗給出的路徑是否真地存在
path = 'D://hadoop-2.6.5//bin'print(os.path.exists(path))path = 'D://hadoop-2.6.5//bin//hadoop'print(os.path.exists(path))
12、os.chdir(dirname)
切換工作目錄,相當于cd的命令
os.chdir('D:/game/gtav/')print(os.getcwd()) 13、os.path.getsize(name)
獲取文件大小,以字節為單位
size = os.path.getsize('D:/iso/debian-8.6.0-amd64-DVD-1.iso')print(size/1024/1024/1024, 'GB') 14、os.path.abspath(name)
獲取絕對路徑,如果在 Python 工作目錄下有一個文件file.txt,那么我就可以直接open('file.txt'),也可以用該方法獲得其絕對路徑print(os.path.abspath('file.txt'))。也可以用來規范路徑字符串print(os.path.abspath('D:/game/gtav/bin/gtav.exe'))
15、os.path.normpath(path)
專門用來規范路徑
path = 'D:/test/sdf/zfb'print(os.path.normpath(path))
16、os.path.splitext()
獲取文件名和擴展名
path = '/home/shawn/hello.py'print(os.path.splitext(path))
17、os.path.join(path,name)
連接目錄和文件名,可以不用自己添加分隔符,能減少 bug 率提升跨平臺性
18、os.path.basename(path)
獲取路徑中的文件名
19、os.path.dirname(path)
獲取路徑中的目錄名
總結
以上就是這篇文章的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答