os模块

import os

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
path = r"aa/"
path1 = r'bb/'
# 如果path路径不加'/'的话,默认是从运行路径再加aa
os.getcwd()
#'/home/python'
# 运行ipython的路径,如果是python3 /home/python/app1.6/runner.py
# 则是/home/python/app1.6
os.path.abspath(path) # path规范化的绝对路径
#'/home/python/aa'
os.path.join(os.getcwd(),path,path1)
#'/home/python/aa/bb/'
os.path.normpath(os.path.join(os.getcwd(),path,path1))
# path规范化的绝对路径
#'/home/python/aa/bb'
将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.join('/home/python','/','aa','/home/')
# '/home/'

判断

1
2
3
4
5
6
7
8
9
10
11
12
13
os.path.exists(path)# 如果path存在,返回True;如果path不存在,返回False.
os.path.isabs(os.getcwd()) # 如果只要path是绝对路径,不管是不是存在,返回True
os.path.isfile(path)
os.path.isdir(path)
'1.jpg'.endswith('.jpng') # False
# 计算此文件的大小
(os.path.getsize(abspath))/1024/1024 # byte/k/M
#改变一个文件的文件名
os.rename(os.path.join('abspath','filename'), \
os.path.join('abspath','new_name'))
# 如果没有则创建目录,有的话就没原来的,防止
os.makedirs('/home/python/1/1/1',exist_ok=True)

分割

1
2
3
4
5
6
7
8
9
10
11
12
13
os.path.splitext(r'/home/python/22.json')
#('/home/python/22', '.json')
os.path.split('/home/python/app1.6/1.txt')
# 将path分割成目录和文件名二元组返回
#('/home/python/app1.6', '1.txt')
os.path.dirname('/home/python/app1.6/1.txt')
# 相当于os.path.split(path)的第一元素
#'/home/python/app1.6'
os.path.basename('/home/python/app1.6/1.txt')
# 相当于os.path.split(path)的第二元素
#'1.txt'

from urllib.parse import urljoin

1
2
urljoin('https://femnyy.com/','VPS/xx')
# 第一个路径必须要有最后一个'/'
Share Comments