版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37361758/article/details/83997707
模块一旦被调用,即相当于执行了另外文件里的代码
模块分为三种:
- 内置标准库 sys、os help(“modules”)
- 第三方模块、 通过pip install name
- 自定义模块 http://pypi.python.org
- 引用国内豆瓣源 pip install -i http://pypi.douban.com/simple/ name --trusted-host pypi.douban.com
模块的导入: - from os import rmdir
- from django.core import handlers as rename
- from os import *
添加path 跨模块导入
- import sys,os
- sys.path.append(os.path.dirname(os.path.abspath(file)))
time 模块
- time.time() 时间戳
- time.localtime() 操作系统时间得到一个时间元组
- time.gmtime() UTC时间
- time.mktime() 将一个时间元组转为时间戳
- time.sleep(1) 将程序睡眠1s
- time.asctime() 将时间元组表示为“Thu Oct 1 12:23:45”
- time.ctime() 将时间戳表示为“Thu Oct 1 12:23:45”
- time.strftime(’%Y-%m-%d %H:%M:%S %p’, a ) 将时间对象a转换为指定格式
- time.strptime(b,’%Y-%m-%d %H:%M:%S %p’) 将指定格式的字符串转为时间元组
- 时间对象之间转换关系
datetime 模块
- datetime.date() 表示日期的类
- datetime.time() 表示时间的类
- datetime.datetime() 表示日期时间
- datetime.timedate() 表示时间间隔,即两个时间点之间的长度
- datetime.tzinfo() 暂时没明白。 可以参考python手册(不常用)
- datetime.datetime.now() 返回一个时间对象
- datetime.date.fromtimestamp(时间戳) 快速得到时间戳的年月日
-
a = datetime.datetime.now()
a.replace(year=2017)
datetime.datetime(2017, 11, 16, 18, 25, 31, 982607)
random 模块
- random.randint(1,100) 1-100 包含100
- random.randrange(1,100) 1-100 不包含100
- random.random() 返回一个随机数
- random.choice(‘sasdfsdf’) 随机返回字符串内某个字符
- random.sample(“sssssfsdfasdfas”,4) 随机返回字符串内某4个字符
- random.shuffle(a) 随机排序列表a 的元素
os模块
- os.getcwd() 得到文件调用时的目录
- os.listdir() 返回指定目录下的所有文件和目录名
- os.remove() 删除文件
- os.removedirs() 删除多个目录
- os.path.isfile() 判断给出的路径是否为一个文件
- os.path.isdir() 判断给出的路径是否为一个目录
- os.path.isabs() 判断是否为绝对路径
- os.path.exists() 检验路径是否真的存在
- os.path.split() 返回路径的目录名和文件名
- os.path.splitest() 分离扩展名
- os.path.dirname() 获取路径名
- os.path.abspath() 获取绝对路径
- os.path.basename() 获取文件名
- os.system() 执行shell命令
- os.getenv(" HOME") 读取环境变量HOME的值
- os.environ() 返回操作系统所有的环境变量
- os.environ.setdefault(‘HOMT’,’/home/cobitry’) 设置系统环境变量(仅在本次程序启动时有效)
- os.linesep 给出当前平台使用的行终止符、(win: \r\n, linux\unix: \n)
- os.name 给出当前使用的平台(win:‘nt’ , linux/unix: “posix” )
- os.rename(old,new) 重命名
- os.makedirs(r"python\test") 创建多级目录
- os.mkdir(“test”) 创建单个目录
- os.stat(filename) 获取文件属性
- os.chmod(filename) 修改文件权限与时间戳
- os.exit() 终止当前进程
- os.path.getsize(filename) 获取文件大小
- os.path.join(dir.filename) 结合目录名和文件大小
- os.chdir(dirname) 改变工作目录到dirname
- os.get_terminal_size() 获取当前终端窗口大小
- os.kill(pid, signal.SIGKILL) 杀死进程
sys 系统模块
- sys.argv 命令行参数List, 第一个元素是程序本身,其他元素是在执行python时附带的参数(python3 test.py cobitry hello 其中argv列表第一个元素为test.py第二个为cobitry 第三个为hello)
- sys.exit(n) 退出程序 并打印n
- sys.version 打印py的版本
- sys.maxsize 在python3中打印int的最大值, python2中为sys.maxint
- sys.platform 打印当前系统版本
- sys.stdout 返回结果(<_io.TextIOWrapper name=’’ mode=‘w’ encoding=‘UTF-8’>) 提供各种方法。 sys.stdout.write :在当前屏幕输出 sys.stdout.read() 【readline 等各种方法】
- sys.getrecursionlimit() 改变最大递归层数
- sys.getdefaultencoding() 获取解释器默认编码
- sys.getfilesystemencoding 获取内存数据存到文件里的默认编码
shtull 文件操作模块
- 参考大佬http://www.cnblogs.com/wupeiqi/articles/4963027.html
- shtull.copyfileobj(fsrc,fdst[,length]) 打开文件 拷贝文件
- shtull.copyfile(src,dst) 拷贝文件、不用打开文件(在源码中打开)
- shtull.copymode(src,dst) 拷贝权限,但是内容、组、用户不变
- shtull.copystat(src,dst) 拷贝 mode atime mtime bits flags
- shtull.copy(src,dst) 拷贝文件和权限
- shtull.copy2(src,dst) 拷贝文件和状态信息
- shutil.ignore_patterns(patterns)
shutil.copytree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件 例如:copytree(source, destination, ignore=ignore_patterns(’.pyc’, ‘tmp*’)) 拷贝包。 ignore_patterns 可以设置忽略某些文件 - shutil.rmtree(src, dst,symlinks=False,ignore=None) 递归删除文件 ignore 可设置忽略某些文件
- shutil.move() 移动文件、(相当于剪切)
- shutil.make_archive(base_name,format,…)
base_name: 压缩完成后保存的位置
format: 压缩包的种类 “zip”“tar”“bztar”“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
owner: 用户,默认当前用户
group: 组,默认当前组
logger: 用于记录日志,通常是logging.Logger对象