当前位置: 首页 > news >正文

day25-2 random,os,sys模块

目录

  • random
    • 为什么要有random模块,random模块有什么用
  • os
    • 为什么要有os模块,os模块有什么用
  • sys
    • 为什么要有sys模块,sys模块有什么用

random

import random

为什么要有random模块,random模块有什么用

  • 生成随机数

1.random() (重要)

  • 生成(0,1)之间的小数
print(random.random())
0.8539941231497675

2.randint (重要)

  • 生成[n,m]之间的整数
print(random.randint(1, 3))
1

3.uniform

  • 生成(n,m)之间的小数
print(random.uniform(1, 3))
1.6985411313422285

4.randrange

  • 生成[n,m)之间的整数
print(random.randrange(1, 3))
2

5.choice(重要)

  • 从容器中随机抽取一个
# 某些抽奖代码
count = 0
while True:
    
    res = random.choice([10000, 20, 30, 50])
    count += 5000
    if count = 15000:   # 抽到15000必中10000
        print('恭喜你获得10000元大奖')
        count = 0
        break
    if res == 10000:      # 中了也不算
        print('再来一次')
        continue
    print(f'恭喜你获得{res}')
    
    print('nick 获得10000元现金大奖')   # 假弹幕
    print('tank 获得10000元现金大奖')
    print('sean 获得10000元现金大奖')

6.sample

  • 从容器中抽取多个
print(random.sample(['a','b','c'], 2))
['a', 'b']

7.shuffle (重要)

  • 打乱容器
lis = [1, 2, 3, 4]
random.shuffle(lis)
print(lis)
[3, 4, 2, 1]

os

import os

为什么要有os模块,os模块有什么用

  • os模块和操作系统交互,实现文件操作
方法名作用
mkdir创建文件夹
removedirs删除空文件夹,并且递归往上删除空文件夹
rmdir删除一个空文件夹
environ打印系统的环境变量
getcwd当前项目路径(和下面的区别是下面可以嵌套)
path.dirname(重要)返回当前文件的路径(用在执行文件添加环境变量)
listdir (重要)列出文件夹内所有文件名和隐藏文件名
remove (重要)删除文件
rename (重要)重命名文件名(old_file,new_file)
path.exists(重要)判断文件是否存在
path.join (重要)根据不同的系统,进行路径拼接
getsize(重要)计算文件大小
walk (重要)打印文件夹下所有文件夹和文件
path.abspath() (重要)获取某个文件的绝对路径
  • 记住路径前面加个r
print(os.path.dirname(__file__))   # 获取当前路径
print(os.path.abspath(__file__))   # 获取当前文件的绝对路径

sys

import sys

为什么要有sys模块,sys模块有什么用

  • 与Python进行交互

1.argv(重要)

  • 返回一个列表,自身路径是列表的第一个元素,后面可以加参数
print(sys.argv)
['M:\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py', '-f', 'C:\\Users\\Y\\AppData\\Roaming\\jupyter\\runtime\\kernel-6df28ba4-0f6a-4dd6-baa5-ae7512f3fa50.json']

2.hexversion

  • 获取解释器的版本
print(sys.hexversion)
50726384

3.path(重要)

  • 获取当前文件导入模块的路径,环境变量
print(sys.path)
['', 'M:\\Anaconda3\\python36.zip', 'M:\\Anaconda3\\DLLs', 'M:\\Anaconda3\\lib', 'M:\\Anaconda3', 'M:\\Anaconda3\\lib\\site-packages', 'M:\\Anaconda3\\lib\\site-packages\\win32', 'M:\\Anaconda3\\lib\\site-packages\\win32\\lib', 'M:\\Anaconda3\\lib\\site-packages\\Pythonwin', 'M:\\Anaconda3\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\Y\\.ipython']

4.path.append (重要)

  • 添加路径到环境变量中
sys.path.append('path')

5.stdout

  • 标准输出
# 这是一个用c写print的过程
sys.stdout.write('123\n')

def print(str, end='\n'):
    str = str + end
    sys.stdout.write(str)
123

6.stdin

  • 标准输入
# 这是一个用c写输入的过程
print(sys.stdin.read(10))

def input():
    print(sys.stdin.read(10))
    return 

转载于:https://www.cnblogs.com/lucky75/p/10999903.html

相关文章:

  • 文件传输协议介绍
  • 前端开发者必备的 Nginx 知识
  • WebSocket Client连接AspNetCore SignalR Json Hub
  • 精读vue-hooks
  • 扩展SpringMVC以支持更精准的数据绑定1
  • 如何安装部署秋色园QBlog站点
  • Myeclipse优化配置
  • 转换流、缓冲流、流的操作规律
  • TypeScript 学习总结 函数 接口 (二)
  • javaweb期末项目-stage3-项目测试和发布
  • RabbitMQ安装配置-01
  • JDBC详解
  • 浏览器缓存与pageshow监听掉坑
  • Tcp/IP 端口耗尽
  • Hadoop综合大作业
  • @angular/forms 源码解析之双向绑定
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • JavaScript学习总结——原型
  • MySQL主从复制读写分离及奇怪的问题
  • python学习笔记-类对象的信息
  • SpringCloud集成分布式事务LCN (一)
  • vue-router 实现分析
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 给初学者:JavaScript 中数组操作注意点
  • 计算机常识 - 收藏集 - 掘金
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 驱动程序原理
  • 使用Swoole加速Laravel(正式环境中)
  •  一套莫尔斯电报听写、翻译系统
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • Python 之网络式编程
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十)c52学习之旅-定时器实验
  • (十一)c52学习之旅-动态数码管
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)Sql Server 保留几位小数的两种做法
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core 成都线下面基会拉开序幕
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 读取 JSON格式的数据
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET框架设计—常被忽视的C#设计技巧
  • .Net小白的大学四年,内含面经