成都9班-曾元 发表于 2021-11-21 21:38:51

20 python的import函数的time模块、random模块、os模块

# 第一种导入方式
import time

# time模块中常见的方法:
# time() #1970到现在的经过的秒数
# print(time.time())

# ctime() #固定格式的当前时间
# print(time.ctime())

# sleep(3) #休眠 单位是秒,线程等待,前面的程序运行到此,会休眠停止5秒
# print(time.sleep(5))

# asctime() #转换为asc码显示当前时间
# print(time.asctime())

# strftime() #时间格式化
# print(time.strftime("%Y-%m-%d"))#2021-11-19
# print(time.strftime("%H-%M-%S"))#15-54-28

# 第二种导入方式
# from time import *   # 这个*代表所有内容:类,函数,变量,常量,对象
# print(time())# 1637308633.6849627
# print(ctime())
# print(asctime())
# sleep(3)
# print(strftime("%H-%M-%S"))

# 第三种导入方式
# from time import ctime,asctime
# print(ctime())#Fri Nov 19 16:00:08 2021
# print(asctime()) #Fri Nov 19 16:00:08 2021
# print(time()) # TypeError: 'module' object is not callable

# 第四种导入方式取别名的方式导入
# from time import ctime as c
# print(c())

import random
#random模块中常见的方法:

# random.random() #该方法是生成0-1之间的浮点数,能取到0,但是取不到1
# print(random.random())

# random.randint(x,y) #该方法生成指定范围内整数,包括开始和结束值
# print(random.randint(2,19))

#random.randrange(x,y,step) #生成指定范围内的奇数,不包括结束值
# print(random.randrange(1,11,2))

# random.randrange(x,y,step) #生成指定范围内的偶数,不包括结束值
# print(random.randrange(2,16,2))

# random.sample(seq,n) #从序列seq中选择n个随机且独立的元素
#不会取出重复的值,并且取出的值会放在一个新的列表中返回
# str1="asdskfjsdd"
# print(random.sample(str1,6))#['j', 'a', 'f', 'd', 'k', 'd']

# list1=
# print(random.sample(list1,2))#

# tuple1=(0,12,25,36,55,0)
# print(random.sample(tuple1,4))#


#突然想起,如果列表中既有字符串又有整型,如何拼接?
# list1=["sss","siss","ieel",25,11]
# for i in list1:
#   str1="".join(str(x) for x in list1)
#   print(str1)# ssssissieel2511

# random.choice(test) #生成随机字符,从序列中随机取出一个元素
# str1="asdskfjsdd"
# print(random.choice(str1))# a

# list1=
# print(random.choice(list1)) # 55

# random.shuffle(list) #洗牌(随机数列),打乱数列顺序
# list1=
# print(list1)#
# random.shuffle(list1)
# print(list1)#

# hashlib.md5() #MD5加密,不可逆加密,不能够进行破解
# from hashlib importmd5
# m=md5()   # 创建一个md5对象
# m.update("123456".encode("utf-8")) # update 将字符串更新到对象中
# print(m.hexdigest()) # 通过对象调用hexdigest()函数,将加密的字符串进行转译
# #e10adc3949ba59abbe56e057f20f883e

# 现在有一个数据库,里面有10万张表,需要对数据库进行备份。
# 如何验证备份的数据是和原数据库的数据一致
# 1、将原数据库内容读取出来,进行MD5加密,然后将备份的数据读取出来进行MD5加密
#对比两个加密后的十六进制数是否一致,如果一致代表数据一致
# 2、beyond 对比工具

# import string
# num1=string.digits # '0123456789'
# num2=string.ascii_letters#ascii_lowercase + ascii_uppercase
##abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
# print(num1)
# print(num2)

#os模块中常见的方法:
importos

#os.getcwd() 获取当前执行命令所在目录
# print(os.getcwd())# D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9

# os.path.isfile() 判断是否为文件
# print(os.path.isfile("D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9")) #False 如果报错,在""前加r

# os.path.isdir() 判断是否为目录
# print(os.path.isdir(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9")) #True

# os.path.exists() 判断文件或目录是否存在
# print(os.path.exists(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9\txt")) #True

# os.listdir(dirname) 列出指定目录下的目录或文件
# print(os.listdir(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9"))
## ['kehouzuoye20211115.py', 'lesson1.py', 'lesson2.py', 'lesson3.py', 'lesson4.py', 'lesson5.py',
# 'lesson6.py', 'lesson7.py', 'test', 'txt', '__init__.py', '__pycache__']

#os.path.split(name)#分割文件名与目录
# print(os.path.split(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9\txt"))
## ('D:\\软件测试工程\\成都多测师\\20211112Pycharm Project\\duoceshi\\chengdu9', 'txt')

# os.path.join(path,name) 连接目录与文件名或目录
# print(os.path.join(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9","lesson1.py"))
## D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu9\lesson1.py

#os.mkdir(dir) 创建一个目录
# os.mkdir(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu10")

#os.rename(old,new) # 更改目录名称
# os.rename(r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu10",
# r"D:\软件测试工程\成都多测师\20211112Pycharm Project\duoceshi\chengdu1010")

# a = ]# 原始对象
# b = a# 赋值,传对象的引用
# c = copy.copy(a)# 对象拷贝,浅拷贝
# d = copy.deepcopy(a)# 对象拷贝,深拷贝
# a.append(5)# 修改对象a
# a.append('中国')# 修改对象a中的['a', 'b']数组对象
# # 1.a改变,打印a本身就会改变
# print(a)#   , 5]
# #2. a改变,因为a是赋值给b ,只是同时两个别名指向同一个存储地址,
# # 所以改变a, b 也会改变
# print(b)#   , 5]
# #3. a改变,因为a是浅拷贝给c,只会独立拷贝出对象本身,所以对象本上不会被改变,
# # 但是c下面的子对象,不会拷贝,还是指向原来的内存地址,所以会改变a的子对象
# #c的子对象也会改变
# print(c)#   ]
# # 4.a改变,因为是a深拷贝给d ,d的本身和子对象,都会拷贝到另一个存储空间,
# # 所以改变a不会造成d的改变
# print(d)#   ]

'''
深拷贝和浅拷贝的区别是:
1、直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变。
2、copy浅拷贝,没有拷贝子对象,所以原始数据改变,子对象会改变。
3、深拷贝,包含对象里面的自对象的拷贝,所以原始对象的改变不会造成深拷贝里任何子元素的改变。
'''

页: [1]
查看完整版本: 20 python的import函数的time模块、random模块、os模块