python的os.path 大集合来了

发布时间 2023-05-27 09:42:49作者: ananmy

 os.path 模块主要用于用于处理文件路径和文件名

1. os.path.abspath -返回指定路径的绝对路径。例如:os.path.abspath('test.txt') 返回 /home/user/test.txt

1.1 os.path.abspath(__file__) -返回当前文件的绝对路径

#test_demo.py

import os

print("Print path of current file", os.path.abspath(__file__)) # /Users/xx/Myselfpython/tests/test_demo.py

 

2.os.path.dirname() -返回文件路径(上一级目录)(返回指定路径的目录名。例如:os.path.dirname('/home/user/test.txt') 返回 /home/user。)

# test_demo.py

import os

print("Dirname is:", os.path.dirname(os.path.abspath(__file__))) #/Users/xx/Myselfpython/tests

 

3.os.path.expanduser() - 把path 中包含的 ~ 和 ~user 转换成用户目录

import os
print(os.path.expanduser("~"))
/Users/san.zhang
print(os.path.expanduser("../"))
../
print(os.path.abspath(os.path.expanduser("../")))
/Users/san.zhang/myself_project

 

4. os.path.join(): 将多个路径组合成一个完整的路径。例如:os.path.join('/usr', 'local', 'bin') 返回 /usr/local/bin

--data

--tests

---test_demo

----test_demo.py

如上获取当前路径的上2层的data目录

#test_demo.py

import os


print("上2层目录下的data路径:", os.path.abspath(os.path.join(os.path.abspath(__file__), "../../data"))) # /Users/xx/Myselfpython/data

注意:join 拼接获取绝对路径时,前母需要加上os.path.abspath

 

5.os.path.basename(): 返回指定路径的文件名或目录名。例如:os.path.basename('/home/user/test.txt') 返回 test.txt

6.os.path.exists(): 判断指定路径是否存在。例如:os.path.exists('/home/user/test.txt') 返回 True 或 False

7.os.path.isfile(): 判断指定路径是否为文件。例如:os.path.isfile('/home/user/test.txt') 返回 True 或 False

8.os.path.isdir(): 判断指定路径是否为目录。例如:os.path.isdir('/home/user') 返回 True 或 False

9.os.path.splitext(): 分离文件名和扩展名。例如:os.path.splitext('/home/user/test.txt') 返回 ('/home/user/test', '.txt')

10.os.path.getsize(): 获取文件大小。例如:os.path.getsize('/home/user/test.txt') 返回文件大小,单位为字节。

11.os.path.getmtime(): 获取文件的修改时间。例如:os.path.getmtime('/home/user/test.txt') 返回文件的修改时间戳。

11.