1. 程式人生 > >python中常用的文件和目錄操作(二)

python中常用的文件和目錄操作(二)

工作目錄 environ win works ID ksh sys remove -s

OS模塊

一. 概述

python os模塊提供了非常豐富的方法用來處理文件和目錄

二. 導入:import os

三. 常用方法

1. os.name 輸出字符串表示正在使用的平臺,如果是windows則用"nt"表示,如果是Linux/Unix,是"posix"

import os

print(os.name)

結果:
nt

2. os.getcwd() 得到當前的工作目錄,即當前python腳本工作的目錄路徑

import os

print(os.getcwd())

結果:
D:\python_workshop\python6\study

3. os.listdir(path) 以列表的形式返回指定目錄下的所有文件和目錄名

import os

dirs = os.listdir(r"D:\python_workshop\python6")
print(dirs)

for file in dirs:
    print(file)

結果: [
.idea, alice.txt, homeworks, lessons, personal_practices, study, url.txt] .idea alice.txt homeworks lessons personal_practices study url.txt

4. os.mkdir(path, [mode]) 創建一個目錄,默認mode是0777

import os

path = "./test"
os.mkdir(path, 0o755)

print("目錄已創建")

結果: 目錄已創建

5. os.makedirs(path) 創建一系列目錄,遞歸的創建

import os

path = "./test/android_app/auto_test"
os.makedirs(path, 0o755)

print("遞歸目錄已創建")

結果: 遞歸目錄已創建

6. os.remove() 刪除一個文件

import os

path = "../"
print("移除前的目錄文件為:", os.listdir(path))

os.remove(
"../math.txt") print("移除後的目錄文件為: ", os.listdir(path))

結果: 移除前的目錄文件為: [
.idea, alice.txt, homeworks, lessons, math.txt, personal_practices, study, url.txt] 移除後的目錄文件為: [.idea, alice.txt, homeworks, lessons, personal_practices, study, url.txt]

7. os.rmdir() 刪除空目錄,目錄非空時刪除會報錯OSError

import os

path = "../"
print("刪除前的目錄文件為: ", os.listdir(path))

os.rmdir("../test")
print("刪除後的目錄文件為: ", os.listdir(path))


結果:
刪除前的目錄文件為:  [.idea, alice.txt, homeworks, lessons, personal_practices, study, test, url.txt]
刪除後的目錄文件為:  [.idea, alice.txt, homeworks, lessons, personal_practices, study, url.txt]

8. os.environ.get("path") 獲取環境變量值

import os

print(os.environ.get("path"))


結果:
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\3.0\bin\x64;D:\Program\python34;D:\Program\python34\Scripts;D:\Program\python34\Lib;D:\Program\python34\PyInstaller-3.3.1;D:\Program\python34\lib\site-packages\pywin32_system32

9. os.system(command) 運行系統命令

import os

os.system(echo "hello world!")


結果:
"hello world!"

四. os模塊path方法

1. os.path.join(path, name) 連接目錄與文件名或目錄

import os

path = "D:\\python_workshop"
name = "hello_world"                  #可以是不存在的目錄或文件名

print(os.path.join(path, name))


結果:
D:\python_workshop\hello_world

2. os.path.isfile(path)和os.path.isdir(path)函數分別檢驗給出的路徑是一個文件還是目錄,存在返回True,否則為False

import os

path = "./url.txt"
print(os.path.isfile(path))

path = "../python6"
print(os.path.isdir(path))


結果:
False
False

3. os.path.exists(path) 用來檢驗給出的路徑是否真的存在,存在返回True,否則為False

import os

path = "../test"
print(os.path.exists(path))


結果:
True

4. os.path.split(path) 返回一個路徑的目錄名和文件名(可以是目錄可以是文件,如果最後一個是目錄,則為目錄名)

import os

path = r"D:\python_workshop"
print(os.path.split(path))


結果:
(D:\\, python_workshop)

5. os.path.splitext(path)分離文件名與擴展名(路徑不是真實存在的也行)

import os

path = r"D:\python_workshop\python6\lesson1.py"
print(os.path.splitext(path))


結果:
(D:\\python_workshop\\python6\\lesson1, .py)

6. os.path.dirname(path) 返回文件路徑(註意不是文件的完整路徑)

import os

path = r"D:\python_workshop\python6"
print(os.path.dirname(path))


結果:
D:\python_workshop

7. os.path.basename(path) 返回文件路徑

import os

path = r"D:\python_workshop\python6"
print(os.path.basename(path))


結果:
python6

8. os.path.getsize(name) 獲得文件大小,如果name是目錄返回OL

import os

name = r"D:\python_workshop\1.txt"
print(os.path.getsize(name))

name = r"D:\python_workshop"
print(os.path.getsize(name))


結果:
197
4096

python中常用的文件和目錄操作(二)