python相對路徑以及上上級路徑的表示方法

2021-10-02 02:00:27 字數 2012 閱讀 2538

問題引入,絕對路徑的缺點

在python學習中,我會將**放在code目錄下,其他型別檔案放在res目錄下,方便瀏覽和管理。

但是我想在code目錄下404.py呼叫res目錄下access.log,使用絕對路徑很長(c:\users\administrator\desktop\day\jasn–70–days\day01~15\day 09\code\access.log),而且資料夾位置一旦移動就路徑就會出錯。

相對路徑出場

r'../res/access.log'
即能完美解決這個問題。

所以修改後的**為:

'''

模擬管道,實現功能:tail -f access.log | grep '404'

version:01

author:jasn

date:2020-01-09

'''import time

deftail

(filepath)

:with

open

(filepath,

'rb'

)as f:

f.seek(0,

2)#獲取最後一行

while

true

: line=f.readline(

)if line:

yield line

else

: time.sleep(

0.5)

#定時間隔重新整理

defgrep

(pattern,lines)

:for line in lines:

line=line.decode(

'utf-8'

)if pattern in line:

yield line

for line in grep(

'404'

,tail(r'../res/access.log'))

:print

(line,end='')

#寫入內容

with

open

(r'../res/access.log'

,'a'

,encoding=

'utf-8'

)as f:

f.write(

'出錯了,404!\n'

)

python相對路徑的用法
|

-- code

|-- conf.py

|-- start.png|-

- res

|config.txt

|access.log|-

- main.py|-

-logo.png

如果main.py,引用logo.png,相對路徑的寫法為:"./logo.png"。logo.png和main.py處於同一目錄下

如果conf.py,引用access.log,相對路徑的寫法為:"…/res/access.log"

如果conf.py,引用logo.png,相對路徑的寫法為:"…/logo.ong"

.指當前檔案所在的資料夾

指當前檔案的上一級目錄。

當然相對路徑還可以表示上上級、上上上級、上上上上級目錄等

上上級:…/…/

上上上級:…/…/…/

上上上上級:…/…/…/…/

相對路徑也可以表示上級目錄下的不同子目錄和檔案,例如:

…/…/day09/code/test.txt:表示當前檔案的上上級目錄下的day09目錄下的code目錄裡面的test.txt檔案

Python 資料集的相對路徑 選擇上級資料夾

選取相對路徑關鍵在於兩行 import os dataset path datafile2 os.path.join dataset path,跨境審核輔助表.xls 其中dataset path 表示在python工作資料夾 dataset path 表示在python工作資料夾的上級資料夾 da...

python檔案路徑 相對路徑

檢視程式的工作路徑import os print os.getcwd 將工作路徑修改為當前程式所在路徑os.chdir d python python入門到實踐 10檔案和異常 檔案路徑 print os.getcwd 注意路徑是雙斜線 同級目錄 直接呼叫檔名with open pi.txt as ...

路徑詳解 絕對路徑,相對路徑,根相對路徑

路徑詳解 重點 1 絕對路徑 1 什麼是絕對路徑 檔案從最高端目錄下開始的完整路徑 1 訪問網路資源 1 由以下四個部分組成 1 協議名稱 2 主機名 ip位址,網域名稱 3 目錄路徑 4 檔名 ex 1 協議名 2 主機名 網域名稱 3 目錄路徑 img4 檔名 bd logo1.png 2 訪問...