os.path的用法总结如下:
- os.path.isfile(filename) # 判断是否是文件
- os.path.isdir(''路径') # 判断目标路径是否是文件夹
- os.path.exists('文件/文件夹路径') # 判断给出的文件或文件夹路径是否存在
- os.path.join('路径', '文件夹', '文件/文件名')
- os.path.abspath(name): # 获得绝对路径
- os.path.realpath(_file_) # 获取当前文件的绝对路径
- os.path.basename(path): # 返回文件名 或 单独的文件夹名 决定于path的最后一个字符串是文件还是文件夹
- os.listdir(目录) # 以列表的形式返回目录下的所有文件和文件夹,目录可以是绝对或相对路径
res1 = os.path.abspath(__file__)
print(res1)
# P:\MKY\ssl\util\111.py
print(os.path.basename(res1))
# 111.py
print(os.path.basename(os.path.dirname(res1)))
# util
- os.path.dirname('文件的绝对路径') # 获取文件所在文件夹的路径,与os.path.realpath()配合使用
data_file_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'resource', 'service_order_datas')
print(data_file_dir)
# 获取当前文件路径os.path.realpath(__file__) P:\fffw\sot\util\sott.py
# 运行结果:'P:\\FFFW\\SOT\\res\\SOP
- os.path.split('文件路径') # 返回数组 包含文件名 和 文件所在文件夹路径
res3 = os.path.split(os.path.abspath(__file__))
print(res3)
# 结果:('p:\\FFFW\\sot\\POIP', '111.py')
- os.path.splitext():分离文件名与扩展名 结果是包含两个元素的数组
import os
def fun():
res = os.path.splitext(os.path.realpath(__file__))
print(res)
if __name__ == '__main__':
fun()
# 运行结果:('p:\\FFFW\\SOT\\YUI\\111', '.py')
- os.path.getsize(name):获得文件大小,如果name是目录返回0L,如果那么为文件,则返回文件的字节数
- os.makedirs(folder) :创建文件夹
- os.getcwd() # 无参 查看当前文件所在文件夹路径
# 当前文件绝对路径
print(os.getcwd())
with open(folder+'new.py', 'r') as f:
f.close()
# 或则
f = open(folder+'new.py', 'r')
f.close()
import os
import shutil
os.remove(path) #删除文件
shutil.rmtree(path) #删除文件夹及其子文件或文件夹
# ESOURCE_PATH 是当前文件所在文件夹目录
ESOURCE_PATH = os.path.dirname(os.path.realpath(__file__))
path = os.path.join(ESOURCE_PATH , 'RzrqResFile', param)
if not os.path.exists(path):
os.makedirs(path)
# 参数param既可以是文件夹 也可以是文件名
gg = os.listdir(r'./')
# ['11.py', 'log', 'Log.py', 'read_excel_db.py']
gg = os.listdir(r'E:\ghy\util')
# ['11.py', 'log', 'Log.py', 'read_excel_db.py']