import random # 1. 随机产生一个0-1之间的小数 print(random.random()) # 2. 随机产生一个1-6之间的整数 print(random.randint(1,6)) # 3. 随机产生一个1-6之间的小数 print(random.uniform(1,6)) # 4. 随机抽取一个 print(random.choice(['特等奖','一等奖','二等奖','三等奖','纪念奖'])) # 5. 随机抽取指定数量样本 print(random.sample(['安徽省','江苏省','山东省','广东省','四川省','云南省'], 2)) # 6. 随机打乱容器类型中的诸多元素 l = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] random.shuffle(l) print(l) # [2, 1, 13, 8, 9, 6, 12, 5, 4, 10, 7, 14, 11, 3, 15]
前几年搜狗公司笔试题
""" 编写五位随机验证码,可以是由数字,小写字母,大写字母任意组合。 """ import string import random # 方法一:使用string模块 code = '' for i in range(5): # 全部大小写英文字符 letters = string.ascii_letters # 随机抽取全部大小写英文字母 letters1 = random.choice(letters) # 随机生成0-9其中数字 number = random.randint(0, 9) tar_code = random.choice([letters1, number]) code += str(tar_code) print(code) # 方法二: code1 = '' for j in range(5): letter_upper = chr(random.randint(65, 90)) letter_lower = chr(random.randint(97, 122)) number1 = random.randint(0, 9) tar_code1 = random.choice([letter_lower, letter_upper, number1]) code1 += str(tar_code1) print(code1)
import os # 1. 创建单级目录(文件夹) os.mkdir('文件夹名字') os.mkdir(r'文件夹名字\文件加名字22') # 直接报错,只能创建单级目录 # 2. 创建多级目录(文件夹) os.makedirs(r'文件夹\文件夹2\文件夹3') # 3. 删除空文件夹(空目录) os.rmdir() # 只有空文件夹才可以删,局限很大 os.removedirs() # 只有空文件夹才能删除 # 4. 列举指定路径下的文件名称,包含任意类型文件 print(os.listdir(r'D:/')) # 5. 拼接文件完整路径*********** # 专门用于路径啤酒,并且能够自动识别当前系统的路径分隔符 os.path.join() # 6. 当前文件所在路径,还可以嵌套,则为上一级路径 BASE_DIR = os.path.dirname(__file__) mo_dir = os.path.join(BASE_DIR, '教学视频') # 7. 删除一个文件 os.remove('文件名') # 8. 修改文件名称 os.rename('原文件名', '新文件名') # 9. 获取当前工作路径 print(os.getcwd()) # 10. 切换路径 os.chdir('想要切换的路径') # 11. 判断当前路径是否存在,既可以判断文件夹,也可以判断文件。 os.path.exists('想判断的对象') # 12. 判断当前路径是否是文件 os.path.isfile('想判断的对象') # 13. 判断当前路径是否是文件夹 os.path.isdir('想判断的对象') # 14. 获取文件大小(字节数) os.path.getsize()
import sys # 系统路径,是个列表 print(sys.path) sys.exit(1) # 退出程序,几乎不用 sys.version() # 版本 sys.platform() # 平台 print(sys.argv) # 单独打印,获取当前文件的绝对路径 # 我们不怎么用,但是很多软件底层会用到
json格式数据:实现跨语言传输
import json d = {'name':'joshua', 'age':28} # 1. 将python其他数据类型转成json格式字符串 """双引号是json格式的独有特征""" res = json.dumps(d) # 序列化 print(res, type(res)) # {"name": "joshua", "age": 28} <class 'str'> # 2. 将json格式字符串转换成当前语言对应的某个数据类型 res1 = json.loads(res) # 反序列化 print(res1, type(res1)) # {'name': 'joshua', 'age': 28} <class 'dict'> """ 可以暂时简单理解为: 序列化就是将其他数据类型转换成字符串的过程 json.dumps() 反序列化就是将字符串转换成其他数据类型 json.loads() """ # 将字典写入文件快捷方法 # json.dump() 相当于先dumps再write # json.load() 相当于先loads再read with open(r'a.txt', 'w', encoding='utf8') as f: json.dump(d, f) with open(r'a.txt', 'r', encoding='utf8') as r: res = json.load(f) ensure_ascii=False # 上式可以阻止json序列化的时候会将中文转换成unicode类型 # 并不是所有的数据类型都支持序列化 # 例如集合set就没有办法序列化,但是不重要 可以通过:json.JSONEncoder查看支持序列化反序列化的类型。
import subprocess """ 1. 基于网络连接上一台计算机(socket模块) 2. 让连接上的计算机执行我们需要的命令 3. 将命令的结果返回给我们(当然也可以不返回) """ # tasklist:查看当前计算机正在跑着的程序列表。 res = subprocess.Popen('tasklist', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) print('stdout',res.stdout.read().decode('gbk')) # 用来获取正确命令执行之后的结果 print('stderr',res.stderr.read().decode('gbk')) # 用来获取错误命令执行之后的结果 """在zgwindows底层用的是gbk"""