攝影或3C

Python中的文件和路徑操作:使用os.path函數和__file__變數; os.path.split() #一次取得dirname , basename 可以取代os.path.dirname() + os.path.basename() ;分離主/副檔名: os.path.splitext() #split ext ; os.path.join( folder, fname) #將folder, fname合併為完整的路徑

test.py位於 D:\Temp 目錄底下
code:

# -*- coding: utf-8 -*-
"""
Created on Sun Sep 24 21:09:57 2023

@author: SavingKing
"""

import os

# 獲取當前檔案的絕對路徑
current_file_path = os.path.abspath(__file__)
# 輸出當前檔案的絕對路徑
print("當前檔案的絕對路徑:", current_file_path)
print("__file__:",__file__) #當前py檔的路徑

# 獲取當前檔案的最後一個路徑組件
current_file_basename = os.path.basename(current_file_path)
# 輸出當前檔案的最後一個路徑組件
print("當前檔案的最後一個路徑組件basename:", current_file_basename)

# 將一個basename分割為兩部分分別是主檔名和副檔名
file_name, file_extension = os.path.splitext(current_file_basename)
# 輸出資源檔案的名稱和擴展名
print("py檔的主檔名:", file_name)
print("py檔的副檔名:", file_extension)

# 獲取當前檔案的父目錄的路徑
current_file_dirname = os.path.dirname(current_file_path)
# 輸出當前檔案的父目錄的路徑
print("當前檔案的父目錄的路徑dirname:", current_file_dirname)

# 將多個路徑組件組合成一個路徑
resource_file_path = os.path.join(current_file_dirname, "resources.txt")
# 輸出資源檔案的路徑
print("資源檔案的路徑join:", resource_file_path)

# 將一個路徑分割為兩部分分別是目錄和文件名
resource_file_path_split = os.path.split(resource_file_path)
# 輸出資源檔案的路徑分割結果
print("資源檔案的路徑分割結果split:", resource_file_path_split)

輸出結果:

雖然上例__file__ abspath 效果相同
但這兩者有可能效果不同:

# -*- coding: utf-8 -*-
"""
Created on Sun Sep 24 21:22:33 2023

@author: SavingKing
"""
import os

import numpy as np
import pandas as pd

def my_function():
    # 创建一个 NumPy 数组
    np_array = np.array([1, 2, 3, 4, 5])

    #  NumPy 数组保存到一个临时文件中
    np.savetxt("numpy_array.txt", np_array)

    # 获取临时文件的绝对路径
    numpy_array_file_path = os.path.abspath("numpy_array.txt")

    # 打印 NumPy 阵列的绝对路径
    print("NumPy 阵列的绝对路径:", numpy_array_file_path)

my_function()

輸出結果:


os.path.split() 函數可以取代 os.path.dirname()os.path.basename(),並且更為簡潔。它將一個完整的路徑分解為目錄部分和文件名部分,並以元組的形式返回。這樣,您可以輕鬆地獲取目錄和文件名,而不必單獨調用 os.path.dirname()os.path.basename()

以下是示例,演示如何使用 os.path.split() 函數來獲取目錄和文件名:

import os

full_path = '/path/to/folder/file.txt'

# 使用 os.path.split() 函數分解路徑
directory, filename = os.path.split(full_path)

print("目錄部分:", directory)
print("文件名:", filename)

輸出結果:

分開使用
os.path.dirname()
os.path.basename()

推薦hahow線上學習python: https://igrape.net/30afN

儲蓄保險王

儲蓄險是板主最喜愛的儲蓄工具,最喜愛的投資理財工具則是ETF,最喜愛的省錢工具則是信用卡