python基礎之獲取文件目錄及名稱


准備

  1. 被引用的文件:D:\gogncheng\apiAutoMate\api\a\bePerform.py
  2. 執行的文件: D:\gogncheng\apiAutoMate\common\b\perform.py
    適用場景:在perform.py下引用文件bePerform.py運行代碼,分別獲取引用文件與執行文件的目錄及名稱

bePerform.py (被引用的文件)

#!/usr/bin/python3
# encoding:utf-8
'''
Created on 2020-06-02 15:24
@author: Administrator
'''
import os
import sys
import time
from test.test_decimal import file

class Fileinfo():
    #獲取本文件目錄(不管執行位置)
    @staticmethod
    def getTheCurrentDir():
        print('os.path.abspath(os.path.dirname(__file__): ',os.path.abspath(os.path.dirname(__file__)))
        print('os.path.split(os.path.realpath(__file__))[0]: ',os.path.split(os.path.realpath(__file__))[0])
    #其他文件引用本文件,調用該方法,獲取執行文件的文件目錄
    @staticmethod
    def getPerTheCurrentDir():
        print('os.getcwd: ',os.getcwd())
        print('sys.path[0]: ',sys.path[0])      
    #獲取本文件上級目錄(不管執行位置)
    @staticmethod
    def getOnDir():    
        print('os.path.abspath(os.path.dirname(os.path.dirname(__file__))): ',os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
    #其他文件引用本文件,調用該方法,獲取執行文件的文件上級目錄
    @staticmethod
    def getPerOnDir():    
        print('os.path.abspath(os.path.dirname(os.getcwd())): ',os.path.abspath(os.path.dirname(os.getcwd())))
        print('os.path.abspath(os.path.join(os.getcwd(), ".."))',os.path.abspath(os.path.join(os.getcwd(), "..")))
        ##獲取上上級目錄:os.path.abspath(os.path.join(os.getcwd(), "../.."))
    #獲取本文件名稱(不管執行位置)
    @staticmethod
    def getFileName():
        print ('os.path.basename(__file__): ',os.path.basename(__file__))
        print('os.path.split(os.path.realpath(__file__))[1]: ',os.path.split(os.path.realpath(__file__))[1])
    #其他文件引用本文件,調用該方法,獲取執行文件的文件名稱
    @staticmethod
    def getPerFileName():
        print ('os.path.basename(sys.argv[0]: ',os.path.basename(sys.argv[0]))
    #獲取本文件目錄名稱(不管執行位置)
    @staticmethod
    def getFileDirName():
        fileDir = os.path.split(os.path.realpath(__file__))[0]
        fileName = os.path.split(os.path.realpath(__file__))[1]
        fileDirName = os.path.join(fileDir,fileName)
        print(fileDirName)
    #其他文件引用本文件,調用該方法,獲取執行文件的文件目錄名稱
    @staticmethod
    def getperFileDirName():
        print ('sys.argv[0]: ',sys.argv[0])
if __name__ == "__main__":
    print("------------TheCurrentDir--------------")
    Fileinfo.getTheCurrentDir()
    print("------------PerTheCurrentDir--------------")
    Fileinfo.getPerTheCurrentDir()
    print("----------OnDir----------------")
    Fileinfo.getOnDir()
    print("----------PerOnDir----------------")
    Fileinfo.getPerOnDir()
    print("----------FileName----------------")
    Fileinfo.getFileName()
    print("----------PerFileName----------------")
    Fileinfo.getPerFileName()
    print("----------FileDirName----------------")
    Fileinfo.getFileDirName()
    print("-----------perFileDirName---------------")
    Fileinfo.getperFileDirName()

perform.py(執行文件)

#!/usr/bin/python3
# encoding:utf-8
'''
Created on 2020-05-24 13:35
@author: Administrator
'''
from api.a.bePerform import Fileinfo
if __name__ == '__main__':
    print("------------TheCurrentDir--------------")
    Fileinfo.getTheCurrentDir()
    print("------------PerTheCurrentDir--------------")
    Fileinfo.getPerTheCurrentDir()
    print("----------OnDir----------------")
    Fileinfo.getOnDir()
    print("----------PerOnDir----------------")
    Fileinfo.getPerOnDir()
    print("----------FileName----------------")
    Fileinfo.getFileName()
    print("----------PerFileName----------------")
    Fileinfo.getPerFileName()
    print("----------FileDirName----------------")
    Fileinfo.getFileDirName()
    print("-----------perFileDirName---------------")
    Fileinfo.getperFileDirName()

執行結果

------------TheCurrentDir--------------
os.path.abspath(os.path.dirname(__file__):  D:\gogncheng\apiAutoMate\api\a
os.path.split(os.path.realpath(__file__))[0]:  D:\gogncheng\apiAutoMate\api\a
------------PerTheCurrentDir--------------
os.getcwd:  D:\gogncheng\apiAutoMate\common\b
sys.path[0]:  D:\gogncheng\apiAutoMate\common\b
----------OnDir----------------
os.path.abspath(os.path.dirname(os.path.dirname(__file__))):  D:\gogncheng\apiAutoMate\api
----------PerOnDir----------------
os.path.abspath(os.path.dirname(os.getcwd())):  D:\gogncheng\apiAutoMate\common
os.path.abspath(os.path.join(os.getcwd(), "..")) D:\gogncheng\apiAutoMate\common
----------FileName----------------
os.path.basename(__file__):  bePerform.py
os.path.split(os.path.realpath(__file__))[1]:  bePerform.py
----------PerFileName----------------
os.path.basename(sys.argv[0]:  perform.py
----------FileDirName----------------
D:\gogncheng\apiAutoMate\api\a\bePerform.py
-----------perFileDirName---------------
sys.argv[0]:  D:\gogncheng\apiAutoMate\common\b\perform.py


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM