Python os模块和time模块 day4


一、os模块

print(os.listdir(r'/Users/smh/Desktop/整理'))#os.listdir() 列出某个目录下面的文件夹/文件
print(os.path.isfile(r'笔记.txt'))#判断路径是否是文件,不输入路径则默认为当前目录
print(os.path.isdir('password.txt'))#判断路径是否为文件夹
os.makedirs(r'/Users/smh/PycharmProjects/bt/test/cnz/user1')#创建文件夹,父目录不存在会帮你创建
os.mkdir('cnz/user2') #创建文件夹,父目录不存在则报错
os.rename('cnz','处女座')#重命名,前面旧名,后面新名
print(os.getcwd()) #获取当前目录
os.chdir(r'/Users/smh/PycharmProjects/bt/day1(0519)')#切换目录
print(os.getcwd()) #获取当前目录 打印的为切换后的目录/Users/smh/PycharmProjects/bt/day1(0519)
os.remove('aa.txt')#删除文件
os.rmdir('abc')#删除文件夹,只能删除空文件夹,若文件夹为非空则无法删除
print(os.cpu_count())#电脑cpu个数
os.system('ifconfig')#执行操作系统命令
os.system('touch a.py')#touch创建文件
os.system('rm -rf a.py')#删除a.py文件 !!!!!千万不要写rm -rf /* 会删除所有的内容
result = os.system('ifconfig')
print('执行的结果',result)#结果为0代表命令执行成功;但拿不到命令的内容,os.system只是执行
res= os.popen('ifconfig').read()#既能执行又能拿到结果
print('result:……',res)
print(os.path.getsize('/Users/smh/PycharmProjects/besttest/day2(0526)'))#获取文件大小(字节)
print(os.path.dirname(r'/Users/smh/PycharmProjects/besttest/test/处女座/user1'))#获取父目录
print(os.path.join('users','a.txt'))#连接几个路径
print(os.path.exists('product.json'))#判断文件是否存在
print(os.path.split(r'/Users/smh/PycharmProjects/besttest/day3(0602)/a.txt'))#将路径和文件名分割
#在day4找day3
print(os.path.abspath('../test'))#取绝对路径,一个.代表当前目录,两个..代表上一级目录
print(os.path.getmtime(r'/Users/smh/Downloads/百测文件'))#获取某个文件的修改时间 ,返回的为时间戳(浮点型秒数)
print(os.path.getctime(f'/Users/smh/Downloads/百测文件'))#获取某个文件的创建时间
print(os.path.getatime(f'/Users/smh/Downloads/百测文件'))#获取某个文件最近一次访问的时间
import os

#os.walk()例子:
for  cur_dir,dirs,files, in os.walk(r'处女座'):
    #os.walk()将文件夹和文件全部找出,cur_dir,dirs,files必须这个顺序,且必须是三个参数
    print('当前文件夹:',cur_dir)
    print('当前目录下的文件夹:',dirs)
    print('当前目录下的文件:',files)#处女座下级目录下的文件,而非下级目录文件夹下的文件
    break
for  cur_dir,dirs,files, in os.walk(r'处女座'):
    #不加break打印所有的文件夹和文件
    print('当前文件夹:',cur_dir)
    print('当前目录下的文件夹:',dirs)
    print('当前目录下的文件:',files)
#指定一个目录,找到这个目录下有哪些文件是以.mp4 ,.avi结尾的
#1、获取这个目录下有哪些文件 os.walk()
#2、判断文件名是否以.mp4/.avi结尾

def find_movie(path):
    for cur_dir, dirs, files, in os.walk(path):
        print('正在%s下找'%cur_dir)
        for file in files:
            if file.endswith('.mp4') or file.endswith('.avi'):
                print('在这个目录下发现了小电影:%s'%cur_dir)
                break

find_movie('/')#根目录
二、time模块


import time
#时间戳:从计算机诞生的那一天到现在过了多少秒
#格式化好的时间:2019-6-16

#获取格式化好的时间:
print(time.strftime('%Y-%m-%d %H:%M:%S'))#取当前的格式化话好的时间,字母大小写必须这么写  2019-06-21 15:07:56
print(time.strftime('%y-%m-%d %H:%M:%S'))#获取当前时间,连接符自己定义  19-06-21 15:07:56
print(time.strftime('%Y.%m.%d %H:%M:%S'))#2019.06.21 15:07:56
print(time.strftime('%H:%M:%S'))#只获取时间,不获取日期 15:07:56
print(time.strftime('%Y'))#只获取年份 2019
print(time.time())#取当前的时间戳,1561100876.629935
#想取到3天后的日期
print(time.time()+60*60*24*3)
#取到过一年的时间
print(time.time()+60*60*24*365)


#时间戳和格式化时间互相转换
#时间元组,先把时间戳转换成时间元组,再把时间元组转化成格式化好的时间
# time_tuple=print('时间元组:',time.gmtime(1561100876))#转成时间元组,取标准时区的时间
time_tuple1=time.localtime(1592210898)#$localtime()不传值默认取当前时间戳
print('转换为格式化时间:',time.strftime('%Y-%m-%d %H:%M:%S',time_tuple1))#把时间元组转为格式化好的时间

#格式化时间和时间戳互相转换
#先把格式化好的时间,转成时间元组
time_tuple2=time.strptime('2019-09-13 18:36:47','%Y-%m-%d %H:%M:%S')#前面传的内容需与后面的格式一一对应
print('转换前:',time_tuple2)
#再把时间元组转为时间戳
print('转换为时间戳:',time.mktime(time_tuple2))
#封装为函数


import time

def str_to_timestamp(str=None,format='%Y-%m-%d %H:%M:%S'):
    #格式化好的时间转时间戳,如果不传格式化好的时间就返回当前的时间戳
    if str:
        time_tuple = time.strptime(str, format)
        return int(time.mktime(time_tuple))#将时间戳后面的小数去掉
    return int(time.time())


def timestamp_to_str(timestamp=None, format='%Y-%m-%d %H:%M:%S'):
    '''这个是把时间戳转换成格式化好的实际,如果不传时间戳,那么就返回当前的时间'''
    if timestamp:
        time_tuple = time.localtime(timestamp)  # 取本地时区的时间
        return time.strftime(format, time_tuple)
    return time.strftime(format)

#函数调用
print(timestamp_to_str(1561105927))
print(str_to_timestamp('2019-06-21 16:32:07'))
原文地址:https://www.cnblogs.com/candysalty/p/11064495.html