国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python中的os模塊中的常用方法

這篇具有很好參考價值的文章主要介紹了Python中的os模塊中的常用方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

Python中的os模塊(Operating System模塊)提供了與操作系統(tǒng)交互的函數(shù)。以下是一些os模塊中常用的方法:

一、文件和目錄操作:

  • os.getcwd(): 獲取當(dāng)前工作目錄。
import os

# 獲取當(dāng)前工作目錄
current_directory = os.getcwd()

# 打印結(jié)果
print("當(dāng)前工作目錄:", current_directory)
  • os.chdir(path): 改變當(dāng)前工作目錄。
import os

# 獲取當(dāng)前工作目錄
current_directory_before = os.getcwd()

# 打印當(dāng)前工作目錄
print("當(dāng)前工作目錄(更改前):", current_directory_before)

# 指定新的路徑
new_directory = "/path/to/your/directory"

# 改變當(dāng)前工作目錄到新路徑
os.chdir(new_directory)

# 獲取改變后的當(dāng)前工作目錄
current_directory_after = os.getcwd()

# 打印改變后的當(dāng)前工作目錄
print("當(dāng)前工作目錄(更改后):", current_directory_after)
  • os.listdir(path='.'): 返回指定目錄下的所有文件和目錄列表。
import os

# 指定要列出文件的目錄
directory_path = "/path/to/your/directory"

# 獲取目錄下的文件和文件夾列表
contents = os.listdir(directory_path)

# 打印結(jié)果
print(f"目錄 '{directory_path}' 下的內(nèi)容:")
for item in contents:
    print(item)
  • os.mkdir(path): 創(chuàng)建目錄。

注意,該方法創(chuàng)建單層目錄 。如果上級目錄不存在,會引發(fā) 'FileNotFoundError'。

import os

# 指定要創(chuàng)建的目錄的路徑
new_directory_path = "/path/to/your/new_directory"

# 創(chuàng)建新目錄
os.mkdir(new_directory_path)

print(f"目錄 '{new_directory_path}' 已創(chuàng)建成功。")
  • os.makedirs(path): 遞歸創(chuàng)建多層目錄。

注意,遞歸創(chuàng)建多層目錄。如果上級目錄不存在,會自動創(chuàng)建上級目錄。

import os

# 指定要創(chuàng)建的目錄的路徑(包括多層目錄)
new_directory_path = "/path/to/your/new_directory/multiple/levels"

try:
    # 創(chuàng)建多層目錄
    os.makedirs(new_directory_path)
    print(f"目錄 '{new_directory_path}' 及其上級目錄已創(chuàng)建成功。")
except Exception as e:
    print(f"創(chuàng)建目錄時發(fā)生錯誤: {e}")
  • os.remove(path): 刪除文件。
import os

# 指定要刪除的文件路徑
file_path = "/path/to/your/file.txt"

try:
    # 刪除文件
    os.remove(file_path)
    print(f"文件 '{file_path}' 已成功刪除。")
except FileNotFoundError:
    print(f"無法刪除文件 '{file_path}',因?yàn)槲募淮嬖凇?)
except Exception as e:
    print(f"刪除文件時發(fā)生錯誤: {e}")
  • os.rmdir(path): 刪除目錄(只能刪除空目錄)。

注意,os.rmdir(path) 用于刪除指定路徑上的空目錄。如果目錄不為空,os.rmdir() 會引發(fā) OSError。

import os

# 指定要刪除的目錄路徑
directory_path = "/path/to/your/empty_directory"

try:
    # 刪除空目錄
    os.rmdir(directory_path)
    print(f"目錄 '{directory_path}' 已成功刪除。")
except FileNotFoundError:
    print(f"無法刪除目錄 '{directory_path}',因?yàn)槟夸洸淮嬖凇?)
except OSError as e:
    print(f"刪除目錄時發(fā)生錯誤: {e}")
  • os.removedirs(path): 遞歸刪除目錄樹。

注意,os.removedirs(path) 函數(shù)用于遞歸地刪除目錄樹。與 os.rmdir() 不同,os.removedirs() 會刪除指定路徑上的目錄及其上級目錄,只要它們都是空的。如果目錄中有非空的子目錄或文件,刪除將失敗。如果需要刪除非空目錄樹,可以考慮使用 shutil.rmtree()。

import os

# 指定要刪除的目錄路徑
directory_path = "/path/to/your/directory_tree"

try:
    # 遞歸刪除目錄樹
    os.removedirs(directory_path)
    print(f"目錄樹 '{directory_path}' 及其上級目錄已成功刪除。")
except FileNotFoundError:
    print(f"無法刪除目錄樹 '{directory_path}',因?yàn)槁窂讲淮嬖凇?)
except OSError as e:
    print(f"刪除目錄樹時發(fā)生錯誤: {e}")

二、路徑操作:

  • os.path.join(path, *paths): 將多個路徑組合成一個路徑。
import os

# 指定路徑的各個部分
base_path = "/path/to/your/base"
subfolder = "subfolder"
file_name = "example.txt"

# 使用 os.path.join() 連接路徑
full_path = os.path.join(base_path, subfolder, file_name)

# 打印連接后的路徑
print(f"連接后的路徑: {full_path}")
  • os.path.abspath(path): 返回絕對路徑。
import os

# 指定相對路徑
relative_path = "subfolder/example.txt"

# 使用 os.path.abspath() 獲取絕對路徑
absolute_path = os.path.abspath(relative_path)

# 打印結(jié)果
print(f"相對路徑: {relative_path}")
print(f"絕對路徑: {absolute_path}")
  • os.path.exists(path): 判斷路徑是否存在。
import os

# 指定要檢查的路徑
path_to_check = "/path/to/your/file.txt"

# 使用 os.path.exists() 檢查路徑是否存在
if os.path.exists(path_to_check):
    print(f"路徑 '{path_to_check}' 存在。")
else:
    print(f"路徑 '{path_to_check}' 不存在。")
  • os.path.isfile(path): 判斷是否為文件。
import os

# 指定要檢查的路徑
file_path = "/path/to/your/file.txt"

# 使用 os.path.isfile() 檢查路徑是否為文件
if os.path.isfile(file_path):
    print(f"路徑 '{file_path}' 是一個文件。")
else:
    print(f"路徑 '{file_path}' 不是一個文件,可能是目錄或不存在。")
  • os.path.isdir(path): 判斷是否為目錄。
import os

# 指定要檢查的路徑
directory_path = "/path/to/your/directory"

# 使用 os.path.isdir() 檢查路徑是否為目錄
if os.path.isdir(directory_path):
    print(f"路徑 '{directory_path}' 是一個目錄。")
else:
    print(f"路徑 '{directory_path}' 不是一個目錄,可能是文件或不存在。")

三、系統(tǒng)環(huán)境變量:

  • os.environ: 包含系統(tǒng)環(huán)境變量的字典。
import os

# 獲取所有環(huán)境變量
all_env_variables = os.environ

# 打印所有環(huán)境變量
print("所有環(huán)境變量:")
for key, value in all_env_variables.items():
    print(f"{key}: {value}")

# 獲取特定環(huán)境變量的值
home_directory = os.environ.get('HOME', '未設(shè)置')  # 如果不存在,返回默認(rèn)值 '未設(shè)置'

# 打印特定環(huán)境變量的值
print(f"HOME 環(huán)境變量的值: {home_directory}")
  • os.getenv(key, default=None): 獲取環(huán)境變量的值。
import os

# 獲取 HOME 環(huán)境變量的值
home_directory = os.getenv('HOME', '未設(shè)置')  # 如果不存在,返回默認(rèn)值 '未設(shè)置'

# 打印 HOME 環(huán)境變量的值
print(f"HOME 環(huán)境變量的值: {home_directory}")

# 獲取不存在的環(huán)境變量的值,并指定默認(rèn)值
nonexistent_variable = os.getenv('NONEXISTENT_VARIABLE', '默認(rèn)值')

# 打印不存在的環(huán)境變量的值
print(f"NONEXISTENT_VARIABLE 環(huán)境變量的值: {nonexistent_variable}")

四、執(zhí)行系統(tǒng)命令:

  • os.system(command): 在子shell中執(zhí)行系統(tǒng)命令。

注意,1、示例中,os.system('pwd') 在類 Unix 系統(tǒng)上執(zhí)行命令來打印當(dāng)前工作目錄,而在 Windows 上可能需要使用 os.system('cd') 或 os.system('echo %cd%')。執(zhí)行命令后,os.system() 返回命令的退出狀態(tài)碼,并通過 print 打印出來。

??????? 2、os.system() 存在一些安全性和平臺差異的問題,可以使用 subprocess 模塊來執(zhí)行命令,它提供了更多的控制和安全性。例如,subprocess.run() 是一個替代方案。

import os

# 執(zhí)行一個簡單的命令,例如打印當(dāng)前工作目錄
command = 'pwd'  # 在 Windows 上可能是 'cd' 或 'echo %cd%'

# 使用 os.system() 執(zhí)行命令
exit_status = os.system(command)

# 打印命令的退出狀態(tài)碼
print(f"命令 '{command}' 的退出狀態(tài)碼: {exit_status}")
  • os.popen(command): 打開一個管道,執(zhí)行系統(tǒng)命令。

注意,1、示例中,os.popen('ls') 在類 Unix 系統(tǒng)上執(zhí)行命令來列出當(dāng)前目錄下的文件,而在 Windows 上可能需要使用 os.popen('dir')。os.popen() 返回一個文件對象,可以通過 read() 方法讀取命令的輸出內(nèi)容,然后通過 print 打印出來。最后,記得關(guān)閉文件對象,釋放資源。
??????? 2、與 os.system() 一樣,os.popen() 也存在一些安全性和平臺差異的問題,也可以使用 subprocess 模塊來執(zhí)行命令,以獲得更多的控制和安全性。

import os

# 執(zhí)行一個簡單的命令,例如列出當(dāng)前目錄下的文件
command = 'ls'  # 在 Windows 上可能是 'dir'

# 使用 os.popen() 執(zhí)行命令并獲取輸出文件對象
output_file = os.popen(command)

# 讀取命令的輸出內(nèi)容
output_content = output_file.read()

# 打印命令的輸出內(nèi)容
print(f"命令 '{command}' 的輸出:\n{output_content}")

# 關(guān)閉文件對象
output_file.close()

五、文件路徑拆分:

  • os.path.split(path): 將路徑拆分為目錄和文件名。
import os

# 指定路徑
file_path = "/path/to/your/file.txt"

# 使用 os.path.split() 分割路徑
directory, file_name = os.path.split(file_path)

# 打印分割后的結(jié)果
print(f"目錄: {directory}")
print(f"文件名: {file_name}")
  • os.path.splitext(path): 將路徑拆分為文件名和擴(kuò)展名。
import os

# 指定文件路徑
file_path = "/path/to/your/file.txt"

# 使用 os.path.splitext() 分割文件路徑
file_name, file_extension = os.path.splitext(file_path)

# 打印分割后的結(jié)果
print(f"文件名: {file_name}")
print(f"擴(kuò)展名: {file_extension}")

六、其他:

  • os.name: 獲取操作系統(tǒng)名稱('posix' 或 'nt')。

通常,'posix' 表示類 Unix 操作系統(tǒng),'nt' 表示 Windows 操作系統(tǒng)。

import os

# 獲取當(dāng)前操作系統(tǒng)的名稱
current_os_name = os.name

# 打印當(dāng)前操作系統(tǒng)的名稱
print(f"當(dāng)前操作系統(tǒng)的名稱: {current_os_name}")
  • os.path.getsize(path): 獲取文件大小。
import os

# 指定文件路徑
file_path = "/path/to/your/file.txt"

# 使用 os.path.getsize() 獲取文件大小
file_size = os.path.getsize(file_path)

# 打印文件大小
print(f"文件 '{file_path}' 的大小: {file_size} 字節(jié)")
  • os.path.getctime(path): 獲取文件的創(chuàng)建時間。
import os
import datetime

# 指定文件路徑
file_path = "/path/to/your/file.txt"

# 使用 os.path.getctime() 獲取文件創(chuàng)建時間
ctime_timestamp = os.path.getctime(file_path)

# 將時間戳轉(zhuǎn)換為可讀的日期時間格式
ctime_datetime = datetime.datetime.fromtimestamp(ctime_timestamp)

# 打印文件創(chuàng)建時間
print(f"文件 '{file_path}' 的創(chuàng)建時間: {ctime_datetime}")
  • os.path.getmtime(path): 獲取文件的最后修改時間。
import os
import datetime

# 指定文件路徑
file_path = "/path/to/your/file.txt"

# 使用 os.path.getmtime() 獲取文件最后修改時間
mtime_timestamp = os.path.getmtime(file_path)

# 將時間戳轉(zhuǎn)換為可讀的日期時間格式
mtime_datetime = datetime.datetime.fromtimestamp(mtime_timestamp)

# 打印文件最后修改時間
print(f"文件 '{file_path}' 的最后修改時間: {mtime_datetime}")

七、更多

os模塊 官方文檔:os — Miscellaneous operating system interfaces

os模塊 中文文檔:os — 操作系統(tǒng)接口文章來源地址http://www.zghlxwxcb.cn/news/detail-771934.html

到了這里,關(guān)于Python中的os模塊中的常用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python常用OS庫之path模塊學(xué)習(xí)

    學(xué)習(xí)python沒有太多捷徑,有也只有技巧,更重要的是要多學(xué)多練,個人覺得練更重要,讀萬卷書不如行萬里路。編程是一門技能,所以除了看還要多實(shí)踐,寫得多了自然也就有了路。 如果看全部的標(biāo)準(zhǔn)庫文檔,可以訪問這個鏈接?os --- 多種操作系統(tǒng)接口 — Python 3.12.3 文檔 接

    2024年04月14日
    瀏覽(27)
  • Python模塊和包:sys模塊、os模塊和變量函數(shù)的使用

    模塊化指將一個完整的程序分解為一個一個小的模塊,通過將模塊組合,來搭建出一個完整的程序。模塊化具有方便開發(fā)、維護(hù)和復(fù)用的優(yōu)點(diǎn)。在Python中,每個py文件就是一個模塊。 在一個模塊中引入外部模塊有兩種方式: import 模塊名 和 import 模塊名 as 模塊別名 。后者可以

    2024年02月08日
    瀏覽(27)
  • 深入探索Python中的os.listdir函數(shù)

    1. 引言 在Python中,文件和目錄操作是常見的任務(wù)之一。而 os.listdir() 函數(shù)是Python中用于獲取指定目錄下所有文件和子目錄的函數(shù)之一。本篇博客將深入探索 os.listdir() 函數(shù)的用法和注意事項。 2. os模塊簡介 Python的os模塊是與操作系統(tǒng)交互的一個接口,提供了許多與文件和目錄

    2024年02月08日
    瀏覽(28)
  • 深入了解Python中的os.path.join函數(shù)

    在Python中,處理文件和目錄路徑是常見的任務(wù)。為了簡化路徑的拼接和操作,Python提供了 os.path 模塊,其中的 join 函數(shù)是一個非常重要且常用的函數(shù)。本文將深入介紹 os.path.join 函數(shù)的用法和注意事項,以幫助讀者更好地理解和使用該函數(shù)。 os.path 模塊是Python中用于處理文件

    2024年02月09日
    瀏覽(21)
  • 深入理解Python中的os.chdir()方法

    在Python中,os.chdir()方法用于改變當(dāng)前的工作目錄。工作目錄是指當(dāng)前正在執(zhí)行的腳本所在的目錄。通過使用os.chdir()方法,我們可以在腳本執(zhí)行過程中切換到不同的目錄。 在編寫Python腳本時,我們經(jīng)常需要操作文件和目錄。而os.chdir()方法可以幫助我們在不同的目錄之間進(jìn)行切

    2024年02月15日
    瀏覽(31)
  • Python常用的數(shù)據(jù)處理函數(shù)和模塊

    Python還提供了許多其他用于數(shù)據(jù)處理和轉(zhuǎn)換的內(nèi)置函數(shù)和模塊。以下是一些常用的數(shù)據(jù)處理函數(shù)和模塊: sorted(iterable, key=func, reverse=False) 用于對可迭代對象進(jìn)行排序。你可以指定一個可選的 key 函數(shù)來自定義排序規(guī)則,以及一個可選的 reverse 參數(shù)來控制升序或降序排序。 en

    2024年02月05日
    瀏覽(21)
  • 【python基礎(chǔ)】函數(shù)-模塊

    【python基礎(chǔ)】函數(shù)-模塊

    函數(shù)的優(yōu)點(diǎn)之一是,使用它們可將代碼塊與主程序分離。通過給函數(shù)指定函數(shù)名稱,可讓主程序容易理解的多。我們還可以更加細(xì)化,將函數(shù)存儲在被稱為模塊的獨(dú)立文件中,再將模塊導(dǎo)入到主程序中。import作用就是將模塊中的代碼導(dǎo)入到當(dāng)前主程序中。 通過將函數(shù)存

    2024年02月09日
    瀏覽(29)
  • Python中的常用函數(shù)

    Python中的常用函數(shù)

    for i in range () 就是給i賦值: 比如 for i in range (1,3): 就是把1,2依次賦值給i range () 函數(shù)的使用是這樣的: range(start, stop[, step]),分別是起始、終止和步長 舉例: range(3)即:從0到3,不包含3,即0,1,2 range(1,3,2)即:從1到3,每次增加2,因?yàn)?+2=3,所以輸出只有1 第三個數(shù)字

    2024年02月05日
    瀏覽(15)
  • 【零基礎(chǔ)入門學(xué)習(xí)Python---Python函數(shù)和模塊】

    【零基礎(chǔ)入門學(xué)習(xí)Python---Python函數(shù)和模塊】

    ?? Python ?? ?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ?? ?? 越難的東西,越要努力堅持,因?yàn)樗哂泻芨叩膬r值,算法就是這樣? ?? 作者簡介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國家獎學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文|經(jīng)驗(yàn)

    2024年02月11日
    瀏覽(16)
  • 【python基礎(chǔ)語法七】python內(nèi)置函數(shù)和內(nèi)置模塊

    eval 和 exec 在和第三方用戶交互時候,謹(jǐn)慎使用; 應(yīng)用不一樣: json主要用于傳輸 轉(zhuǎn)換關(guān)系 localtime = mktime = ctime

    2024年02月01日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包