python笔记06-----常用模块(time,os,sys,random)

时间:2022-08-28 00:18:15

模块

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

模块的分类

  1. 标准库(内置模块)
  2. 开源模块(第三方模块)
  3. 自定义模块(实际上就是写一个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)的更多相关文章

  1. Python 五个常用模块资料 os sys time re built-in

    1.os模块   os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果.   os.name:返回当前操作系统名称('posix', 'nt', ' ...

  2. python笔记之常用模块用法分析

    python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...

  3. Python 常用内建模块(os&comma; sys&comma;random)

    一.os 模块 1,操作系统与环境变量 import osprint(os.name) #操作系统类型,如果是posix 说明系统是linux unix 或 mac os x :如果是nt 就是win ...

  4. python学习之【第十六篇】:Python中的常用模块之OS模块、sys模块、random模块

    1. OS模块 OS模块是与操作系统交互的一个接口.内部提供了以下方法: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname& ...

  5. Python笔记&lpar;十三&rpar;&lowbar;os模块和os&period;path模块

    os模块中关于文件/目录常用的函数使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('.'表示当前目录,' ...

  6. python基础之常用模块一(sys、greenlet、pymysql、paramiko、pexpect、configparser)

    一.sys模块(内置模块) 用于提供对解释器相关的操作 import syssys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...

  7. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  8. python进阶06 常用问题库(2)datetime模块 base64

    python进阶06 常用问题库(2)datetime模块 base64 一.datetime模块(时间) 1.datetime.time() t=datetime.time(20,43,30,1) ...

  9. python笔记之Cmd模块

    python笔记之Cmd模块 Cmd类型提供了一个创建命令行解析器的框架,默认情况下,它使用readline来进行交互式操作.命令行编辑和命令完成. 使用cmd创建的命令行解释器循环读取输入的所有行并 ...

  10. python笔记之ZipFile模块

    python笔记之ZipFile模块 zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下, ...

随机推荐

  1. Android 四大组件之再论service

    service常见的有2种方式,本地service以及remote service. 这2种的生命周期,同activity的通信方式等,都不相同. 关于这2种service如何使用,这里不做介绍,只是 ...

  2. codeforce B Island Puzzle

    B. Island Puzzle time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...

  3. Windows2003系统问题:&OpenCurlyDoubleQuote;无法加载安装程序库wbemupgd&period;dll,或是找不到函数OcEntry&period;

    “无法加载安装程序库wbemupgd.dll,或是找不到函数OcEntry.请与您的系统管理员联系.特定错误码是 0x7e;" 然后是警告框: " 无法初始化应用程序." ...

  4. &period;NET使用NPOI组件将数据导出Excel

    .NPOI官方网站:http://npoi.codeplex.com/ 可以到此网站上去下载最新的NPOI组件版本 2.NPOI在线学习教程(中文版): http://www.cnblogs.com/ ...

  5. 如何创建一个Django项目

    Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...

  6. WPF 外发光效果

    WPF的滤镜效果,目前框架自带的只有BlurEffect和DropShadowEffect两种.DropShadowEffect为投影效果,只能显示黑灰颜色的效果,如果想让一个边框达到别的颜色的滤镜效 ...

  7. es6的新特性--模板字符串

    这几天简单看了一下深入浅出es6这本书,感觉特实用,学习了一个新特性---模板字符串在项目开发中,拼接字符串是不可缺少的,动态创建dom元素以及js操作数据都要拼接字符串,在es6出来之前,我们都通常 ...

  8. RandomAccessFile读取文本简介

    RandomAccessFile类的常用的操作方法 1.public  RandomAccessFile(File file, String mode)throws FileNotFoundExcep ...

  9. 命令制作Mac系统U盘启动

    命令 sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Vol ...

  10. 深入理解 Node&period;js 中 EventEmitter源码分析&lpar;3&period;0&period;0版本&rpar;

    events模块对外提供了一个 EventEmitter 对象,即:events.EventEmitter. EventEmitter 是NodeJS的核心模块events中的类,用于对NodeJS中 ...