Python獲取路徑與訪問檔案

2021-08-28 06:06:56 字數 1815 閱讀 4461

一、獲取路徑和所在目錄

目錄結構:

.└── es

├── rest

│ └──test_direction.py

└── data

│ └── abc.txt

└── a.txt

test_direction.py:

# -*- coding: utf-8 -*-

import os

print("獲取當前檔案的絕對路徑:")

print(os.path.abspath(__file__))

#輸出為:d:\es\rest\test_direction.py

-------------------------------------------

print("獲取當前檔案的目錄:")

print(os.path.dirname(__file__))

print(os.path.abspath(os.path.dirname(__file__)))

print(os.getcwd())

輸出為:d:/es/rest

:d:\es\rest

:d:\es\rest

----------------------------------------

print("獲取當前檔案的上級目錄:")

print(os.path.dirname(os.path.dirname(__file__)))

print (os.path.abspath(os.path.dirname(os.getcwd())))

輸出為:d:/es

備註:目錄的寫法可以分為兩種:a)斜槓;b)反斜槓。

a)斜槓

d:/es/rest/test_direction.py,斜槓用法為python路徑預設用法。
b)反斜槓

d:\es\rest\test_direction.py,反斜槓是轉義字元的意思,使用反斜槓表示路徑只能使用兩種方式:

i)加r:r'd:\es\rest\test_direction.py'

ii)加雙斜槓:'d:\\es\\rest\\test_direction.py'

二、訪問檔案

訪問檔案的方式一般分為兩種:1)絕對路徑訪問;2)相對路徑訪問。

以絕對路徑訪問適用於初學習者,主要是為了避免路徑出錯。但絕對路徑不利於工程的移植,如果路徑不對,很容易出現bug。因此,我們更多的在程式中使用相對路徑。

相對路徑的使用方法:

.└── es

├── rest

│ └──test_direction.py

│ └── ab.txt

└── data

│ └── abc.txt

└── a.txt

#a)訪問同一資料夾下的檔案:

#例如當前檔案為test_direction.py時,訪問ab.txt檔案的**為

f=open('ab.txt','r')

#當然訪問當前路徑下的檔案還可以表示為:

f=open('./ab.txt','r')

#注意:這裡使用的是乙個點,即乙個點表示當前目錄。

#b)訪問不同資料夾下的檔案:

#訪問abc.txt時的**為:

f=open('../data/abc.txt','r')# '..'表示當前目錄的上一層目錄

#訪問a.txt的**:

f=open('../a.txt','r')

python獲取檔案路徑

一 獲取當前路徑 1 使用sys.ar 0 import sys print sys.ar 0 輸出 本地路徑 2 os模組複製 import os print os.getcwd 獲取當前工作目錄路徑 print os.path.abspath 獲取當前工作目錄路徑 print os.path.a...

python 獲取檔案路徑

print 獲取當前檔案路徑 os.path.realpath file 獲取當前檔案路徑 parent os.path.dirname os.path.realpath file print 獲取其父目錄 parent 從當前檔案路徑中獲取目錄 garder os.path.dirname par...

Python 獲取檔案路徑 專案路徑

tz zs file 在ide中獲取的是絕對路徑,在終端啟動時,啟動位置是本模組,則為相對路徑,由外部模組呼叫則獲取的是未經解析的絕對路徑。sys.path 0 忠實的表示啟動的檔案所在的路徑 os.getcwd 獲取的是工作空間的路徑。ide中可以設定working directory,終端啟動時...