python笔记06-----常用模块(time,os,sys,random)
模块
1. 模块的定义和导入
定义:
模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件(文件名:test.py对应的模块名:test)
包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py文件)
导入:
import module_name
import module1_name,module2_name
from module_alex import *
from module_alex import m1,m2,m3
from module_alex import logger as logger_alex #设置模块别名
import 本质(路径搜索和搜索路径)
导入模块的本质就是把python文件解释一遍
(import test test=‘test.py all code’)
(from test import name name=‘code’)
import module_name ---> module_name.py ---> module_name.py的路径 ---> sys.path
import os,sys
x = os.path
print(x)
x1 = "/data"
sys.path.append(x1)
print(x1)
---------------输出结果------------------
<module 'ntpath' from 'C:\\Users\\Administrator\\PycharmProjects\\NBcmdb\\venv\\lib\\ntpath.py'>
/data
导入优化
form module_test import test
模块的分类
- 标准库(内置模块)
- 开源模块(第三方模块)
- 自定义模块(实际上就是写一个python文件)
自定义模块
文件名 login.py
import getpass
_username = 'wsy'
_password = '' username = input("输入用户名:")
password = input("输入密码:")
if username == _username and password == _password:
print("welcome user %s login"% username)
else:
print("wrong username or password!")
导入的方法
import login
方法一:copy到环境变量 base/lib/site-packages/
方法二:添加新的环境变量
2. time模块和datetime模块(时间)
time模块
2.1 time方法sleep方法
import time
start = time.time()
time.sleep(1)
#省略千行代码
end = time.time() print("执行代码用时:%s" %(end - start))
计算代码执行的时间
2.2 localtime方法
import time
a = time.localtime()
print(a)
--------------输出结果---------------
time.struct_time(tm_year=2018(年), tm_mon=1(月), tm_mday=24(日), tm_hour=11(小时), tm_min=14(分钟), tm_sec=18(秒), tm_wday=2(一周的第几天), tm_yday=24(一年的第几天), tm_isdst=0(时区))
可以通过a.tm_year 调用
print(a.tm_year,a.tm_mon,a.tm_mday) --输出结果: 2018 5 10
2.3 mktime方法
打印1970到现在用了多少秒 a = time.localtime()
print(time.mktime(a)) ----------------结果-----------------
1525919616.0
2.4 strftime方法
打印当前时间
print(time.strftime("%Y-%m-%d %H:%M:%S"))
#%Y :年
#%m :月
#%d :日
#%H :时
#%M :分
#%S :秒
------------------------输出结果------------------------
2018-05-10 10:34:43
时间的转换
import time # 将结构化时间转换成时间戳
print(time.mktime(time.localtime())) # 将结构化时间转换成字符串时间
print(time.strftime("%Y-%m-%d",time.localtime()))
# 将字符串时间转换成结构化时间
print(time.strptime('2018-05-10',"%Y-%m-%d"))
print(time.strptime("2018-01-24 11:31:16","%Y-%m-%d %H:%M:%S"))
-------------------------输出结果--------------------------------
1525920162.0
2018-05-10
time.struct_time(tm_year=2018, tm_mon=5, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=130, tm_isdst=-1)
time.struct_time(tm_year=2018, tm_mon=1, tm_mday=24, tm_hour=11, tm_min=31, tm_sec=16, tm_wday=2, tm_yday=24, tm_isdst=-1)
datetime模块
import datetime,time
print(datetime.datetime.now()) #获取当前时间
print(datetime.datetime.now() + datetime.timedelta(-5)) # 五天前
print(datetime.datetime.now()+ datetime.timedelta(+5)) # 五天后
print(datetime.datetime.now() + datetime.timedelta(hours=3)) # 3小时后
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) # 30分钟后 a = time.time()
print(a)
print(datetime.date.fromtimestamp(a)) # 时间戳转成年月日
---------------------------------输出结果-------------------------------
2018-05-10 10:57:38.666891
2018-05-05 10:57:38.666891
2018-05-15 10:57:38.666891
2018-05-10 13:57:38.666891
2018-05-10 11:27:38.666891
1525921058.666891
2018-05-10
3. random模块(随机数)
3.1 方法的使用
import random
print(random.random()) # 0-1
print(random.randint(1,7)) # 1-7
print(random.randrange(3)) # 0 1 2
print(random.choice('123wsty')) # 随机取一个字符,可以传入字符串列表元祖
print(random.sample('heeeeaa',2)) # 随机取两个字符,列表形式
print(random.uniform(1,3)) # 指定区间浮点数 ---------------------------输出结果---------------------------
0.15290056806101748
1
2
w
['e', 'a']
1.5085069390150398
3.2 实现随机数字验证码
import random
checkcode = '' for i in range(6):
current = random.randint(1,9)
checkcode += str(current)
print(checkcode)
-----------------------输出结果-------------------------
897988
3.3 实现随机数字+字母验证码
import random
n = ''
for i in range(6):
a = random.randint(0, 9)
if a % 2 == 0:
tmp = chr(random.randint(65, 90))
else:
tmp = random.randint(0, 9)
n += str(tmp) print(n)
------------------输出结果--------------------
29SJV7
4. OS模块(系统操作)
print(os.getcwd()) #pwd
print(os.chdir("C:\\windows")) #cd
print(os.chdir(r"C:\windows")) #cd
print(os.curdir) #返回当前目录
print(os.pardir) #上级目录 cd ..
print(os.makedirs(r"D:\a\b\c\d"))#递归创建目录 mkdir –p /a/b/c/d
print(os.removedirs(r"D:\a\b\c\d"))#删除空目录 rmdir /a/b/c/d -p
print(os.mkdir(r'D:\a')) #创建目录
print(os.rmdir(r'D:\a')) #删除空目录 一层 rmdir /a/
print(os.listdir(r'D:')) #列出目录包含内容列表方式
print(os.remove()) #删除文件
print(os.rename()) #重命名
print(os.stat(r'D:')) #获取目录信息
print(os.sep) #路径分割付
print(os.linesep) #行分隔符
print(os.environ) #查看环境变量
print(os.pathsep) #查看变量分隔符
print(os.name) #系统名 unmae
print(os.system('dir')) #执行系统命令
print(os.path.defpath) #获取路径
print(os.path.split(r"c:\windows"))#分开返回路径放在元祖里
print(os.path.dirname(r"C:\a\b\c"))#取目录
print(os.path.basename(r"C:\a\b\c\a.txt"))#取文件
print(os.path.exists(r'c:\das'))#判断路径是否存在
print(os.path.isdir(r'c:\das'))#判断目录是否存在
print(os.path.file(r'c:\das'))#判断文件是否存在
import os path = 'C:\\' for root, dirs, files in os.walk(path): # 全部,目录,文件
print("Root=%s,dirs=%s,files=%s" %(root,dirs,files))
os.walk()
5. sys模块
import sys print(sys.path) # 打印环境变量
print(sys.argv) # [显示本文件路径] 命令行参数 第一个元素是程序本身路径
#
print(len(sys.argv)) # 统计参数个数
print(sys.argv[0]) # 当前文件路径
sys.argv[2] # 传第二个参数 print(sys.version) # 获取python版本 print(sys.maxunicode) # 最大unicode值
print(sys.maxsize) # 最大size值
print(sys.platform) # 返回操作系统平台名称
sys.exit() # 提前退出程序
python笔记06-----常用模块(time,os,sys,random)的更多相关文章
- Python 五个常用模块资料 os sys time re built-in
1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称('posix', 'nt', ' ...
- python笔记之常用模块用法分析
python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...
- Python 常用内建模块(os, sys,random)
一.os 模块 1,操作系统与环境变量 import osprint(os.name) #操作系统类型,如果是posix 说明系统是linux unix 或 mac os x :如果是nt 就是win ...
- python学习之【第十六篇】:Python中的常用模块之OS模块、sys模块、random模块
1. OS模块 OS模块是与操作系统交互的一个接口.内部提供了以下方法: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname& ...
- Python笔记(十三)_os模块和os.path模块
os模块中关于文件/目录常用的函数使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('.'表示当前目录,' ...
- python基础之常用模块一(sys、greenlet、pymysql、paramiko、pexpect、configparser)
一.sys模块(内置模块) 用于提供对解释器相关的操作 import syssys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...
- python学习笔记之常用模块(第五天)
参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...
- python进阶06 常用问题库(2)datetime模块 base64
python进阶06 常用问题库(2)datetime模块 base64 一.datetime模块(时间) 1.datetime.time() t=datetime.time(20,43,30,1) ...
- python笔记之Cmd模块
python笔记之Cmd模块 Cmd类型提供了一个创建命令行解析器的框架,默认情况下,它使用readline来进行交互式操作.命令行编辑和命令完成. 使用cmd创建的命令行解释器循环读取输入的所有行并 ...
- python笔记之ZipFile模块
python笔记之ZipFile模块 zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下, ...
随机推荐
- jbpm(流程管理)
1.jbpm是什么 JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理.工作流.服务协作等领域的一个开源的.灵活的.易扩展的可执行 ...
- struts2从浅至深(五)上传与下载
1.编写上传页面 2.编写动作方法 import java.io.File;import java.io.IOException; import javax.servlet.ServletContex ...
- gridview的编辑,更新,取消,自动分页等
gridview编辑列,把左下角的"自动生成字段"的复选框的勾去掉 添加boundfield(绑定列)将其datafield设置为productname,headertext设置为 ...
- LCS,LIS,LCIS学习
for(int i = 1;i <= n;i++) { int dpmax = 0; for(int j = 1;j <= m;j++) { dp[i][j] = dp[i-1][j]; ...
- Android SDK目录结构
Android版本下载:从4.0到8.0版本: Android SDK目录结构图: sdk全称:software develop kits 软件开发工具集 add-ons:Google API map ...
- 关于Git bash 在win10重装系统情况下闪退并生成mintty.exe.stackdump文件的问题
问题内容:在重装win10系统情况下,有可能会出现安装Git后右击Git bash会出现闪退并生成mintty.exe.stackdump文件 个人解决方案:查看网络上各位网友的意见和解决方法后,自己 ...
- vux Tabbar组件入门备忘大佬多指点
一.Tabbar引入及使用 1.新创建vue文件 2.在vue文件中添加插件 <template> <div> <tabbar style="position: ...
- Install Nginx on CentOS 7
To set up the yum repository for RHEL/CentOS, create the file named /etc/yum.repos.d/nginx.repo with ...
- [USACO06DEC] 牛奶模式Milk Patterns
题目链接:戳我 我们知道后缀数组的h数组记录的是后缀i和后缀i-1的最长公共前缀长度,后缀的前缀其实就是子串. 因为是可以重复出现的子串,所以我们只要计算哪些h数组的长度大于等于x即可.这一步操作我们 ...
- JQuery - Ajax和Tomcat跨域请求问题解决方法!
在JQuery里面使用Ajax和Tomcat服务器之间进行数据交互,遇到了跨域请求问题,无法成功得到想要的数据! 错误信息部分截图: 通过错误信息判断知道已经发生在Ajax跨域请求问题了! 当前Tom ...