import os

#获取某个目录下的内容 返回list
# ['a.json', 'a.py', 'b.py', 'lhy.py', 'os模块.py']等等
print(os.listdir(r'D:\python高级编程\tmz2020\day5'))

os.mkdir('python')  #在当前py文件夹下 创建文件夹 只能创建一层文件夹
os.makedirs('java/day1') # 创建文件夹,能同时创建多层级的目录,如果父目录存在则直接创建子目录,如父目录不存在 则子 父目录都创建
os.makedirs('java/day3') #父目录不存在的时候,会创建父目录

os.remove('python')     #删除文件,不能删除文件夹  入参为绝对路径
os.rmdir('java')        #删除空文件夹的  入参为绝对路径 
os.rename('java','python') #重命名,文件和文件夹都可以  入参为绝对路径
print(os.getcwd())#获取当前所在的目录   入参为空

os.chdir(r'D:\python高级编程\tmz2020\day4')#进入到某个目录里面
os.mkdir('java')    #创建目录
print(os.getcwd())  #查看当前目录


print(os.environ) #获取系统环境变量里面配置的内容

"""
os.system() os.popen()执行操作系统的命令
"""
result = os.system('ipconfig') #执行操作系统命令的,它只能帮你执行,不能拿到命令的结果
#它返回的是命令执行是否成功,如果返回的是0,代表执行成功
print('!!!!!!!!!',result)
result = os.popen('ipconfig').read()
print('result,,',result)

os.path.join()     # 路径拼接
os.path.abspath()  # 获取文件或者目录的绝对路径
os.path.split()    # 返回元组,把文件和路径分隔开
os.path.dirname()  # 获取文件或者目录的父目录
os.walk()  #此方法特别重要 重要! 重要! 重要!

print(os.path.sep)#当前系统的路径分隔符
print(os.path.isfile('a.py')) #是否为文件
print(os.path.isdir('a.py')) #是否为文件夹
print(os.path.exists('a.py')) #文件/文件夹是否存在
print(os.path.getsize('a.py')) #获取大小  入参为绝对路径
print(os.path.getctime('a.py')) #创建时间
print(os.path.getmtime('a.py')) #修改时间
print(os.path.getatime('a.py')) #最后一个访问时间

# print(os.path.split('/Users/day5/a.py'))
#分隔路径和文件名的

# p = 'e:'+os.path.sep+'movies'+os.path.sep+'欧美大片'
# print(p)
# print(os.path.join('e:','movies','欧美大片','复仇者联盟.mp4'))
#拼接路径
# print(os.path.abspath(r'../day4/a.json')) #把相对路径,转换成绝对路径
#/Users/day4/a.json
#
# print(os.path.dirname(r'/PycharmProjects/day4/a.json') )#取父目录
#e:\xxx\python\sqls
for cur_path,dirs,files in os.walk(r'D:\360_import'):  #遍历指定文件夹下 所有文件 并 归类  此方法很重要!很重要!很重要!
    # cur_path 当前目录
    # dirs   当前目录下的文件夹
    # files  当前目录下的文件
    print('当前在%s目录下查找'%cur_path)
    for file in files:
        if file.endswith('.mp4') or file.endswith('.avi'):
            print('发现小电影在%s目录下'%cur_path)
            break

例子:根据当前文件 获取 工程目录

目录结构如下:

python如何新建目录 python创建目录包括父目录_python

 

 op_sql.py

import os
  # __file__ 代表当前文件

#D:\python高级编程\tmz-code\day5\python\lib\op_sql.py
base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sql_file = os.path.join(base_path,'sqls','create.sql')
print(sql_file)

 生成日志脚本

def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
    '''时间戳转格式化好的时间,如果没有传时间戳,就获取当前的格式化时间'''
    if timestamp:
        time_tuple = time.localtime(timestamp) #把时间戳转成时间元组
        result = time.strftime(format,time_tuple) #把时间元组转成格式化好的时间
        return result
    else:
        return time.strftime(format)


import time,os,random
l = ['ios','android','nginx','tomcat','python','blog','apache','mysql','redis']

for i in l:
    p = os.path.join('logs',i)
    os.makedirs(p)
    for j in range(30):
        t = int(time.time())-86400*j
        time_str = timestamp_to_str(t,'%Y-%m-%d')
        log_name = '%s_%s.log'%(i,time_str)
        abs_file_path = os.path.join('logs',i,log_name)
        fw = open(abs_file_path, 'w', encoding='utf-8')
        if random.randint(1,10)%2==0:
            fw.write('胜多负少防守打法双方都')
        fw.close()