今日所学:
复习:
1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块的集合体,通过包内的__init__文件来管理包中所有模块提供给外界的名字-- 存放所以模块的文件夹名就是包名 4.导包三件事:
1)编译__init__文件的pyc
2)执行__init__文件形成全局名称空间,作为包的全局名称空间,包能直接使用的名字全部是__init__文件中提供的
3)在导包文件中形成一个名字指向包的名称空间 5.包的管理:通过__init__文件来管理,在包中使用相对导入 . 代表当前文件所在目录
.. 代表当前文件所在目录的上一级目录
# .开头的导包语法,from .开头 import 名字,只能存活在包内 time模块 时间戳(timestamp):time.time()
延迟线程的运行:time.sleep(secs)
(指定时间戳下的)当前时区时间:time.localtime([secs])
(指定时间戳下的)格林威治时间:time.gmtime([secs])
(指定时间元组下的)格式化时间:time.strftime(fmt[,tupletime])
calendar;日历
'''判断闰年:calendar.isleap(year)
查看某年某月日历:calendar.month(year, mouth)
查看某年某月起始星期与当月天数:calendar.monthrange(year, mouth)
查看某年某月某日是星期几:calendar.weekday(year, month, day) os:操作系统 生成单级目录:os.mkdir('dirname')
生成多层目录:os.makedirs('dirname1/.../dirnamen2')
重命名:os.rename("oldname","newname")
工作目录:os.getcwd()
删除单层空目录:os.rmdir('dirname')
移除多层空目录:os.removedirs('dirname1/.../dirnamen')
列举目录下所有资源:os.listdir('dirname')
路径分隔符:os.sep
行终止符:os.linesep
文件分隔符:os.pathsep
操作系统名:os.name
操作系统环境变量:os.environ
执行shell脚本:os.system() os.path: 生成单级目录:os.mkdir('dirname')
生成多层目录:os.makedirs('dirname1/.../dirnamen2')
重命名:os.rename("oldname","newname")
工作目录:os.getcwd()
删除单层空目录:os.rmdir('dirname')
移除多层空目录:os.removedirs('dirname1/.../dirnamen')
列举目录下所有资源:os.listdir('dirname')
路径分隔符:os.sep
行终止符:os.linesep
文件分隔符:os.pathsep
操作系统名:os.name
操作系统环境变量:os.environ
执行shell脚本:os.system() 生成单级目录:os.mkdir('dirname')
生成多层目录:os.makedirs('dirname1/.../dirnamen2')
重命名:os.rename("oldname","newname")
工作目录:os.getcwd()
删除单层空目录:os.rmdir('dirname')
移除多层空目录:os.removedirs('dirname1/.../dirnamen')
列举目录下所有资源:os.listdir('dirname')
路径分隔符:os.sep
行终止符:os.linesep
文件分隔符:os.pathsep
操作系统名:os.name
操作系统环境变量:os.environ
执行shell脚本:os.system() 案例:
#将prat5下的mm.py移动到part6下abc文件夹中
# 首先做根目录
import os # 导入os模块
import sys #导入sys系统环境模块
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) #__file__是执行文件当前路径,os.path.adirname是返回上一级目录,两个os.path.dirname就是返回上上一级目录,及根目录
sys.path.append(BASE_DIR) #添加根目录环境变量
def move_file(file,nen): #用一个函数命名,其中的参数为两个文件名
if not(os.path.exists(file)and os.path.isfile(file)): #file文件的指定路径是否存在,并且判断是否是文件
print('文件不存在')
return False
if not os.path.exists(nem): #nem文件的指定路径是否存在
os.makedirs(nem) # 生成多层目录
# file_name = os.path.split(file)[1] #分割目录文件
file_name = os.path.basename(file) #最后一级目录文件
new_file = os.path.join(nem, file_name) #将目录进行拼接
with open(file,'rb')as rf, open(file_name, 'wb')as wf:
for line in rf:
#new_file = os.path.join(nem,file_name)
wf.write(line)
os.remove(file) # sys.path.clear(mm.py):
file = os.path.join(BASE_DIR,'prat5','mm.py')
nem = os.path.join(BASE_DIR,'part6','abc')
move_file(file,nem)
'''