18.python全栈之路:模块

模块

一.模块:用一个或者多个.py文件来实现某个功能的代码集合,提供了代码的重用性和代码间的耦合。

而对于一个复杂的功能而言,可能需要多个函数相互调用才能完成,函数也可以在不同的.py文件

中,这n个.py文件的代码集合就称为模块

二.模块与库的关系:一个库可能包含了很多的模块,但一个库至少有一个模块

  模块的种类:

  1. 内置模块:类似于sys,os,getpass,socket,time....
  2. 自定义模块:
  3. 第三方模块

三.导入自定义模块的方法与注意事项

注意事项1:尽量避免使用IDE添加的模块搜索路径

         对于相同的代码。在缺少pycharm的编辑环境下,就无法识别模块‘mokuai2‘

注意事项2: 程序的模块搜索顺序

注意事项3:导入方法

注意事项4: 添加新的模块搜索路径

四.python的内置模块

  1.sys:用于提供对Python解释器相关的操作: 

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdin          输入相关
sys.stdout         输出相关
sys.stderror       错误相关

  

    1.sys.argv:获取用户的输入

       

    2.写用户的输入,根据用户输入,创建一个相应的目录    

        import os
        import sys

        os.mkdir(sys.argv[1])
        testFile = input("Enter a file name:")
        os.mkdir(testFile)

  

    3.sys.stdout():百分比进度条

        # 做进度条  往显示器上打印东西  标准输出
        import sys
        import time

        for i in range(30):
            sys.stdout.write(‘\r‘)  # 每一次清空原行
            sys.stdout.write(‘%s%% %s‘ % (int((i+1)/30*100), i*‘*‘))
            ‘‘‘
            要输出%,需要转义,转义方法是%%
            ‘‘‘
            sys.stdout.flush()      # 清空缓冲区
            time.sleep(0.3)

  

  2.时间相关的操作,时间有三种表示方式:

  • 时间戳               1970年1月1日之后的秒,即:time.time()
  • 格式化的字符串    2014-11-11 11:11,    即:time.strftime(‘%Y-%m-%d‘)
  • 结构化时间          元组包含了:年、日、星期等... time.struct_time    即:time.localtime()
import time

time.sleep(5)
‘‘‘
程序停止5秒
‘‘‘
print(time.time())
‘‘‘
时间戳:1495539499.9574285
‘‘‘

print(time.ctime())                   # 字符串格式
‘‘‘
Tue May 23 19:38:19 2017
‘‘‘
print(time.ctime(time.time()-86400))  # 减去一天的秒数,将时间戳转换成字符串时间
‘‘‘
Mon May 22 19:38:19 2017
‘‘‘

# 将时间戳转换成时间对象格式
time_obj = time.gmtime(time.time())
print(time_obj)
‘‘‘
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=23, tm_hour=11, tm_min=38, tm_sec=19, tm_wday=1, tm_yday=143, tm_isdst=0)
‘‘‘
print(time_obj.tm_year)
‘‘‘
2017
‘‘‘
print(str(time_obj.tm_year) + ‘-‘ + str(time_obj.tm_mon) + ‘-‘ + str(time_obj.tm_mday))
‘‘‘
2017-5-23
‘‘‘

# 字符串格式化
print("%s-%s-%s %s:%s" % (time_obj.tm_year, time_obj.tm_mon, time_obj.tm_mday, time_obj.tm_hour, time_obj.tm_min))
‘‘‘
2017-5-23 11:38
‘‘‘
print("%d-%f-%d %d:%d" % (time_obj.tm_year, time_obj.tm_mon, time_obj.tm_mday, time_obj.tm_hour, time_obj.tm_min))
‘‘‘
2017-5.000000-23 11:38
%d只能接收整型数剧,但是%s都可以各种类型的数据
‘‘‘

# 本地时间  输出一个时间对象
print(time.localtime(time.time()))
‘‘‘
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=23, tm_hour=19, tm_min=38, tm_sec=19, tm_wday=1, tm_yday=143, tm_isdst=0)
‘‘‘

# 将时间对象转换成时间戳
print(time.mktime(time.localtime()))
‘‘‘
1495539499.0
‘‘‘

# 将时间对象格式转换成指定的字符串格式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime()))
‘‘‘
2017-05-23 11:38:19
‘‘‘
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
‘‘‘
2017-05-23 19:38:19
‘‘‘

# 将字符串格式转换成时间对象格式
print(time.strptime("2016-01-28", "%Y-%m-%d"))
‘‘‘
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=28, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=28, tm_isdst=-1)
‘‘‘

import datetime

print(datetime.date.today())
‘‘‘
2017-05-23
‘‘‘
print(datetime.date.fromtimestamp(time.time()-664000000))
‘‘‘
1996-05-08
‘‘‘
current_time = datetime.datetime.now()
print(current_time)
‘‘‘
2017-05-23 19:38:20.001431
‘‘‘
print(current_time.timetuple()) # 返回时间对象格式
‘‘‘
time.struct_time(tm_year=2017, tm_mon=5, tm_mday=23, tm_hour=19, tm_min=38, tm_sec=20, tm_wday=1, tm_yday=143, tm_isdst=-1)
‘‘‘
print(current_time.replace(2014, 12, 12))# 输出当前时间,指定值被替换
‘‘‘
2014-12-12 19:38:20.001431
‘‘‘
str_to_date = datetime.datetime.strptime("21/11/06 16:30", "%d/%m/%y %H:%M")#将字符串转换成日期的字符串格式
print(str_to_date)
‘‘‘
2006-11-21 16:30:00
‘‘‘

# 时间的加减  用得很多
new_date0 = datetime.datetime.now() + datetime.timedelta(days=-10)  #减10天
‘‘‘

‘‘‘
new_date1 = datetime.datetime.now() + datetime.timedelta(hours=-10) #减10个小时
‘‘‘

‘‘‘
new_date2 = datetime.datetime.now() + datetime.timedelta(seconds=-10) # 减10秒
‘‘‘

‘‘‘

 

时间: 2024-09-29 16:33:28

18.python全栈之路:模块的相关文章

9、python全栈之路-模块与包

九.模块与包 http://www.cnblogs.com/Eva-J/articles/7292109.html#_label7 1.模块 1.1 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内置模块 1.2 为何要使用模块

Python全栈之路----常用模块----hashlib加密模块

加密算法介绍 HASH       Python全栈之路----hash函数 Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值. 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数. HASH主要用于信息安全领域中加密算法,他把一

Python全栈之路_01

Python全栈之路 前言:因为Python主要是在Linux和widows操作系统上使用所以,首先就介绍Pyhton在这两个平台上的安装和一些基础知识 Linux系统下安装Pyhton 1.工具 虚拟机:VMware workstation 12 Pro Linux系统:CentOS 64 位 VMware虚拟机安装很简单就不说明了. 在虚拟机安装CentOS 需要注意的是: 运行内存分配1G左右即可 可以开机按F2进入bios界面boot目录下选择启动设备选择Hard Drive为优先启动位

python 全栈之路

python 全栈之路 一. python 1. Python基础知识部分 Python Python那点事 Python windows和linux下 安装 Python2,Python3 Python 开启入坑之路 Python 基本数据类型 Python 那些零碎的知识点 Python -函数 Python - 面对对象 Python - 模块 Python - 文件操作 Python - python中经常踩得的坑 2. Python - 网络编程 3. Python - 并发编程 二.

Python全栈之路系列之赋值与运算符

Python全栈之路系列之赋值与运算符 在继续下面的文章之前我们先来浏览一下Python为我们提供的几种运算符,定义两个变量,分别是a和b,a的值是10,b的值是20. 算术运算符 运算符 描述 实例 + 加,两个对象相加 a+b=30 - 减,两个对象相减,可能会得到负数 a-b=-10 * 乘,两数相称或是返回一个被重复若干次的字符串 a*b=200 / 除,两个对象相除 b/a=2 % 取膜,返回除法的余数 b%a=0 ** 幂,返回x的y次幂 a**b=10000000000000000

Python全栈之路----函数----返回值

函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句,把结果返回. def stu_register(name,age,course='PY',country='CN'): print('----注册学生信息----') print('姓名:',name) print('年龄:',age) print('国籍:',country) print('课程:',course) if age > 22: return False else: return True registriat

Python全栈之路系列----之-----re模块(正则表达式)

正则表达式并不是python中的一部分,正则表达式适用于处理字符串的强大工具,拥有自己独特的语法,以及独立的处理引擎.在提供了正则表达式的语言中都它的语法是都一样的 re模块本质上和正则表达式没有一毛钱的关系,re模块是python提供给我们方便操作正则的工具而已 正则表达式概念 使用单个字符串规则来描述匹配一系列符合某个句法规则的字符串 是对字符串操作的一种逻辑公式 应用场景:处理文本和数据 正则表示是过程:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:否则匹配失败 正

Python全栈之路----常用模块----sys模块

sys.argv  命令行参数 List,第一个元素是程序本身路径 #test.py import sys print(sys.argv) D:\ProgramLearning\Py_program>python test.py ['test.py'] D:\ProgramLearning\Py_program>python test.py run web ['test.py', 'run', 'web'] sys.exit(n)  退出程序,正常退出时 exit(0) >>>

Python全栈之路----常用模块----subprocess模块

我们经常需要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用系统命令或脚本的模块在python2有os.system, >>> os.system('uname -a') Darwin Alexs-MacBook-Pro.local 15.6.0 Darwin Kernel Version 15.6.0: Sun Jun 4 21:43:07 PDT 2017; root:xnu-3