函式作用:把path中包含的'~'
和'~user'
轉換成使用者目錄。
在linux系統中,你可以方便地使用'~'
來代替路徑'/home/user_name'
,但是python是不認識'~'
的,如果你寫路徑的時候直接寫'~/balabala'
,程式是跑不動的,所以如果你要用'~'
,你就應該用這個os.path.expanduser('~')
把'~'
展開。
print
(os.path.expanduser(
'~')
)print
(os.path.expanduser(
'~/balabala'))
print
(os.path.expanduser(
'./balabala'))
# 該函式只對'~'起作用
執行結果:
# abcd2474是我的使用者名稱
'/home3/abcd2474'
'/home3/abcd2474/balabala'
'./balabala'
注:在windom系統中,os.path.expanduser('~')
輸出'c:\users\user_name'
。
函式作用:返回絕對路徑。
print
(os.path.abspath(
'.')
)# 當前目錄的絕對路徑
print
(os.path.abspath(
'./'))
# 同上
print
(os.path.abspath('')
)# 同上
print
(os.path.abspath(
'..'))
# 上一級目錄的絕對路徑
print
(os.path.abspath(
'../'))
# 同上
print
(os.path.abspath(
'./balabala'))
# 該路徑對應的絕對路徑
print
(os.path.abspath(
'balabala'))
# 同上
print
(os.path.abspath(__file__)
)# 返回程式所在檔案的絕對路徑
執行結果:
# 程式在/home3/abcd2474/pyproject/my_raw_code/my_test/test1.py中
'/home3/abcd2474/pyproject/my_raw_code/my_test'
'/home3/abcd2474/pyproject/my_raw_code/my_test'
'/home3/abcd2474/pyproject/my_raw_code/my_test'
'/home3/abcd2474/pyproject/my_raw_code'
'/home3/abcd2474/pyproject/my_raw_code'
'/home3/abcd2474/pyproject/my_raw_code/my_test/balabala'
'/home3/abcd2474/pyproject/my_raw_code/my_test/balabala'
'/home3/abcd2474/pyproject/my_raw_code/my_test/test1.py'
組合技1:os.path.expanduser()
和os.path.abspath()
經常組合起來用。
path = os.path.abspath(os.path.expanduser(path)
)
函式作用:返回檔名,即返回路徑中最底層的檔名(檔案或資料夾的名字),由於是最底層,所以稱為其為basename
。
注:路徑的組成形式為:「dirname/basename」,即「檔案路徑/檔名」。
))執行結果:
'dir1'函式作用:返回檔案路徑,即路徑中的dirname。
))執行結果:
'./dir1/dir2/dir3'
'./dir1/dir2'
'./dir1'
'.'
函式作用:把路徑分割成 dirname 和 basename,並返回乙個元組。
))執行結果:
)於是乎:
函式作用:分割路徑,返回路徑名和副檔名的元組。
))執行結果:
)持續更新中。。。。
[1]: python os.path() 模組.
Oracle筆記 最詳細的操作命令大全(基礎版)
create table mytest id varchar2 2char name varchar2 3char insert into mytest id,name values 01 tom select from mytest update mytest set name mm where ...
最詳細的Django命令
django命令 1 新建乙個專案django admin.py startproject 專案名 3 建立資料庫表 或 更改資料庫表或字段 可在sql等資料庫中建立與models.py 對應的表 建立更改的檔案 pyhton manage.py makemigrations 將生成的py檔案應用到...
最詳細的單例模式
單例模式 在整個專案中,只產生乙個例項化物件,這類主要由資料庫連線池等,對於這類物件,一定要小心使用,因為一般而言單例物件在整個專案中存活很久。有甚者貫穿了這個專案生命週期。定義全域性的集合的時候,一定要小心集合內的元素,有可能儲存在集合的物件在程式中沒有作用,但在集合內存在強引用而造成記憶體洩漏。...