2024-06-08|閱讀時間 ‧ 約 27 分鐘

[Python]OS檔案操作

在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。

raw-image

為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。

可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。


以下是一些常用的 os 模組基本操作及其範例:

1. os.getcwd()

讀取當前工作目錄。

import os

current_directory = os.getcwd()
print("Current Working Directory:", current_directory)

2. os.chdir(path)

改變當前工作目錄。

import os

os.chdir('/path/to/new/directory')
print("Changed Working Directory to:", os.getcwd())

結合範例

import os

current_directory = os.getcwd()
print("Current Working Directory:", current_directory)

os.chdir('F:/python')
print("Changed Working Directory to:", os.getcwd())

先讀取目前的工作目錄確認在 F:\python\opencv,在修改工作目錄'F:/python',在印出來確認有修改完成

3. os.listdir(path)

列出指定目錄中的所有文件和子目錄。

import os

files = os.listdir('F:/python/new')
print("Files and directories in 'F:/python/new'':", files)

# 印出 Files and directories in 'F:/python/new'': ['multi', '1.txt', '2.txt']

資料夾內有子目錄:multi 文件1.txt', 2.txt。

資料夾內容

4. os.mkdir(path)

創建單個目錄。

import os

os.mkdir('/path/to/new/directory')

5. os.makedirs(path)

創建多級目錄。顧名思義就是多創造多層的目錄

exist_ok=True,意思是若資料夾存在就不創建,避免重複創建報錯

import os

os.mkdir('F:/python/new/multi/level/directory')

直接創立了new與multi與level跟directory四個資料夾。

6. os.remove(path)

刪除文件。

import os

os.remove('/path/to/file')

7. os.rmdir(path)

刪除單個目錄(該目錄必須是空的)。

import os

os.rmdir('/path/to/empty/directory')

8. os.rename(src, dst)

重命名文件或目錄。

import os

os.rename('/path/to/current_name', '/path/to/new_name')

9. os.path.exists(path)

檢查路徑是否存在。

import os

if os.path.exists('/path/to/check'):
print("Path exists.")
else:
print("Path does not exist.")

10. os.path.join(*paths)

拼接路徑。

import os

path = os.path.join('/path', 'to', 'directory_or_file')
print("Joined path:", path)

11. os.path.isfile(path)

檢查路徑是否為文件。

import os

if os.path.isfile('/path/to/file'):
print("It is a file.")
else:
print("It is not a file.")

12. os.path.isdir(path)

檢查路徑是否為目錄。

import os

if os.path.isdir('/path/to/directory'):
print("It is a directory.")
else:
print("It is not a directory.")

13. os.path.getsize(path)

獲取文件大小(以字節為單位)。

import os

size = os.path.getsize('/path/to/file')
print("File size:", size, "bytes")

14. os.path.abspath(path)

讀取絕對路徑。

import os

absolute_path = os.path.abspath('relative/path/to/file_or_directory')
print("Absolute path:", absolute_path)

15. os.environ

讀取目前環境變量。

import os

home_directory = os.environ.get('HOME')
print("Home directory:", home_directory)



分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.