python3基础笔记(四):os模块&时间模块

导入模块的实质:把该模块从上到下的执行一遍

导入模块的顺序:

1、当前目录下找

2、在sys.path目录下找

如果导入的文件不再当前目录下,也不再sys.path下,要想使用可以把文件目录加入到sys.path里,方法如下:

append是把目录加入到sys.path目录末尾,insert是加入到sys.path目录最前面
sys.path.append(r'/Users/Documents/study')
sys.path.insert(0,r'/Users/Documents/study)
print(sys.path)

有一个tools文件是这样的:

name='tools文件'

def test():
    print('aaabb')
    return 'abc'

if __name__ == '__main__':  #main下的代码不会被执行
   print('aaa')
   print('end')

导入模块的方法:

1、import tools  #该方法调用的时候是. 例如:tools.name

2、from tools import name,test   #该方法调用的时候直接用,例如print(name)

如果导入的模块名字特别长,可以起一个别名,例如 import tools as t 以后使用的时候直接t.就可以了

OS模块:

os常用命令:

os.mkdir('test')#创建一级文件夹
os.makedirs()#创建多级文件夹,如果副目录不存在会一并创建
print(os.listdir(r'/Users/wutata/Documents')) #获取某个目录下的所有文件

#如果忘了某个文件存在了哪里,要如何找
#1、判断是文件还是文件夹
#2、进入某个文件夹
print(os.path.isdir(r'/Users/wutata/Documents')) #判断是否是文件夹
print(os.path.isfile(r'/Users/wutata/Documents')) #判断是否是文件
os.chdir(r'/Users/wutata/Documents') #进入某个文件夹
print(os.listdir())#查看该文件夹下的所有文件

os.walk函数可以遍历某个目录下的所有文件和文件夹
#写一个找.mp4文件的例子:
# name='.mp4'
# for cur_dir,dirs,files in os.walk(r'/Users/wutata/Documents'):
#     # print(cur_dir,dirs,files)
#     for file in files:
#         if name in file:
#             abs_path=os.path.join(cur_dir,file)
#             print('找到%s文件,路径是%s'%(file,abs_path))

#要写成一个通用的函数
# def search_file(path,name):
#     for cur_dir, dirs, files in os.walk(path):
#         for file in files:
#             if name in file:
#                abs_path = os.path.join(cur_dir, file)
#                print('找到%s文件,路径是%s' % (file, abs_path))
# search_file()

 print(os.getcwd()) #获取当前路径
print(os.system('ifconfig'))#执行操作系统命令,只执行命令不给返回结果
result=os.popen('ifconfig').read() #执行操作系统命令,并拿到返回结果
print('result-----',result)
os.path.getsize()#获取文件大小
os.path.exists() #判断文件是否存在
os.path.getatime()#最近一次的访问时间
os.path.getctime()#文件的创建时间
os.path.getmtime()#文件的修改时间
os.path.split()# 将文件路径和文件名分开,如果是长路径的想取文件名就用该方法,然后取下标是-1的就是文件名
os.path.dirname()#获取父目录
os.path.abspath()#根据相对路径获取绝对路径(要想获取到day3文件下的a.txt这么写../day3/a.txt)
os.path.abspath(__file__)#__file__是获取当前文件的绝对路径
os.rmdir() #删除空文件夹
os.removedirs() #删除空文件夹会把父目录一起删除

时间模块:

import time ,datetime

# time.time() #获取当前时间戳
# print(time.strftime('%Y-%m-%d %H:%M:%S'))#获取当前格式化好的时间

#时间元祖(时间戳与格式化好的时间相互转换需要用到)

#1、时间戳转格式化的时间

timestamp=1342423451
# time_tuple=time.gmtime(timestamp)#以标准时区的时间转换,标准时区比当前时区小
time_tuple=time.localtime(timestamp) #将时间戳转换成时间元祖,以当前时间转换
result=time.strftime('%Y-%m-%d %H:%M:%S',time_tuple) #将时间元祖转换成格式化的时间
print(result)


#2、将格式化好的时间转换成时间戳
s='2019-10-22 17:12:14'
time_tuple=time.strptime(s,'%Y-%m-%d %H:%M:%S') #格式化好的时间转成时间元祖
result=time.mktime(time_tuple) #把时间元祖转换成时间戳
print(result)


#封装成一个通用函数

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) #将时间元祖转换成格式化的时间
    else:
        result=time.strftime(format)
    return result

def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
    '''格式化好的字符串转时间戳,默认返回当前的时间戳'''
    if string:
        time_tuple = time.strptime(string,format) #格式化好的时间转成时间元祖
        result=time.mktime(time_tuple) #把时间元祖转换成时间戳
    else:
        result=time.time()
    return int(result)

#若想获得3天以后的时间,怎么写?
t1=str_to_timestamp()+60*60*24*3
result=timestamp_to_str(t1)
print(result)

猜你喜欢

转载自www.cnblogs.com/tata-learning/p/11723421.html