Fork me on GitHub

python创建文件/文件夹,判断文件/文件夹是否存在以及os.path模块的使用

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']
posted @ 2020-01-17 13:31  路痴队长  阅读(1571)  评论(0编辑  收藏  举报