python 发红包import random用redenv_python 常用模块之random,os,sys 模块
python 常用模块random,os,sys 模块
python全栈开发OS模块,Random模块,sys模块
OS模块
os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码:
#OS模块
#os模块就是对操作系统进行操作,使用该模块必须先导入模块:
import os
#getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)
result = os.getcwd()
print(result)
#chdir()改变当前工作目录
os.chdir(‘/home/sy‘)
result = os.getcwd()
print(result)
open(‘02.txt‘,‘w‘)
#操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作
open(‘/home/sy/下载/02.txt‘,‘w‘)
#listdir() 获取指定文件夹中所有内容的名称列表
result = os.listdir(‘/home/sy‘)
print(result)
#mkdir() 创建文件夹
#os.mkdir(‘girls‘)
#os.mkdir(‘boys‘,0o777)
#makedirs() 递归创建文件夹
#os.makedirs(‘/home/sy/a/b/c/d‘)
#rmdir() 删除空目录
#os.rmdir(‘girls‘)
#removedirs 递归删除文件夹 必须都是空目录
#os.removedirs(‘/home/sy/a/b/c/d‘)
#rename() 文件或文件夹重命名
#os.rename(‘/home/sy/a‘,‘/home/sy/alibaba‘
#os.rename(‘02.txt‘,‘002.txt‘)
#stat() 获取文件或者文件夹的信息
#result = os.stat(‘/home/sy/PycharmProject/Python3/10.27/01.py)
#print(result)
#system() 执行系统命令(危险函数)
#result = os.system(‘ls -al‘) #获取隐藏文件
#print(result)
Output: os.stat_result(st_mode=33206, st_ino=1688849860335422, st_dev=3033309271, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1544232459, st_mtime=1544235273, st_ctime=1544232459)
#环境变量
‘‘‘
环境变量就是一些命令的集合
操作系统的环境变量就是操作系统在执行系统命令时搜索命令的目录的集合
‘‘‘
#getenv() 获取系统的环境变量
result = os.getenv(‘PATH‘)
print(result.split(‘:‘))
Output:
[‘C‘, ‘\\ProgramData\\Oracle\\Java\\javapath;C‘, ‘\\WINDOWS\\system32;C‘, ‘\\WINDOWS;C‘, ‘\\WINDOWS\\System32\\Wbem;C‘, ‘\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C‘, ‘\\Program Files\\Git\\cmd;C‘, ‘\\Program....]
#putenv() 将一个目录添加到环境变量中(临时增加仅对当前脚本有效)
#os.putenv(‘PATH‘,‘/home/sy/下载‘)
Output:
[‘C‘, ‘\\ProgramData\\Oracle\\Java\\javapath;C‘, ‘\\WINDOWS\\system32;C‘, ‘\\WINDOWS;C‘, ‘\\WINDOWS\\System32\\Wbem;C‘, ‘\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C‘, ‘\\Program Files\\Git\\cmd;C‘, ‘\\Program...‘\\git\\Python\\code\\fullstack\\venv\\Scripts‘]
#os.system(‘syls‘)
#exit() 退出终端的命令
#os模块中的常用值
#curdir 表示当前文件夹 .表示当前文件夹 一般情况下可以省略
print(os.curdir)
#pardir 表示上一层文件夹 ..表示上一层文件夹 不可省略!
print(os.pardir)
#os.mkdir(‘../../../man‘)#相对路径 从当前目录开始查找
#os.mkdir(‘/home/sy/man1‘)#绝对路径 从根目录开始查找
#name 获取代表操作系统的名称字符串
print(os.name) #posix -> linux或者unix系统 nt -> window系统
#sep 获取系统路径间隔符号 window ->\ linux ->/
print(os.sep)
#extsep 获取文件名称和后缀之间的间隔符号 window & linux -> .
print(os.extsep)
#linesep 获取操作系统的换行符号 window -> \r\n linux/unix -> \n
print(repr(os.linesep))
#导入os模块
import os
#以下内容都是os.path子模块中的内容
#abspath() 将相对路径转化为绝对路径
path = ‘./boys‘#相对
result = os.path.abspath(path)
print(result)
#dirname() 获取完整路径当中的目录部分 & basename()获取完整路径当中的主体部分
path = ‘/home/sy/boys‘
result = os.path.dirname(path)
print(result)
result = os.path.basename(path)
print(result)
#split() 将一个完整的路径切割成目录部分和主体部分
path = ‘/home/sy/boys‘
result = os.path.split(path)
print(result)
#join() 将2个路径合并成一个
var1 = ‘/home/sy‘
var2 = ‘000.py‘
result = os.path.join(var1,var2)
print(result)
#splitext() 将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀
path = ‘/home/sy/000.py‘
result = os.path.splitext(path)
print(result)
#getsize() 获取文件的大小
#path = ‘/home/sy/000.py‘
#result = os.path.getsize(path)
#print(result)
#isfile() 检测是否是文件
path = ‘/home/sy/000.py‘
result = os.path.isfile(path)
print(result)
#isdir() 检测是否是文件夹
result = os.path.isdir(path)
print(result)
#islink() 检测是否是链接
path = ‘/initrd.img.old‘
result = os.path.islink(path)
print(result)
#getctime() 获取文件的创建时间 get create time
#getmtime() 获取文件的修改时间 get modify time
#getatime() 获取文件的访问时间 get active time
import time
filepath = ‘/home/sy/下载/chls‘
result = os.path.getctime(filepath)
print(time.ctime(result))
result = os.path.getmtime(filepath)
print(time.ctime(result))
result = os.path.getatime(filepath)
print(time.ctime(result))
#exists() 检测某个路径是否真实存在
filepath = ‘/home/sy/下载/chls‘
result = os.path.exists(filepath)
print(result)
#isabs() 检测一个路径是否是绝对路径
path = ‘/boys‘
result = os.path.isabs(path)
print(result)
#samefile() 检测2个路径是否是同一个文件
path1 = ‘/home/sy/下载/001‘
path2 = ‘../../../下载/001‘
result = os.path.samefile(path1,path2)
print(result)
#os.environ 用于获取和设置系统环境变量的内置值
import os
#获取系统环境变量 getenv() 效果
print(os.environ[‘PATH‘])
#设置系统环境变量 putenv()
os.environ[‘PATH‘] += ‘:/home/sy/下载‘
os.system(‘chls‘)
注意:os.stat(‘path/filename‘) 获取文件/目录信息 的结构说明:
stat 结构:
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
不同平台的属性
os.sep 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name 输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘
sys模块
sys模块是与python解释器交互的一个接口
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version 获取Python解释程序的版本信息
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
异常处理和status
import sys
try:
sys.exit(1)
except SystemExit as e:
print(e)
random模块
>>> import random
#随机小数
>>> random.random() # 大于0且小于1之间的小数
0.7664338663654585
>>> random.uniform(1,3) #大于1小于3的小数
1.6270147180533838
#恒富:发红包
#随机整数
>>> random.randint(1,5) # 大于等于1且小于等于5之间的整数
>>> random.randrange(1,10,2) # 大于等于1且小于10之间的奇数
#随机选择一个返回
>>> random.choice([1,‘23‘,[4,5]]) # #1或者23或者[4,5]
#随机选择多个返回,返回的个数为函数的第二个参数
>>> random.sample([1,‘23‘,[4,5]],2) # #列表元素任意2个组合
[[4, 5], ‘23‘]
#打乱列表顺序
>>> item=[1,3,5,7,9]
>>> random.shuffle(item) # 打乱次序
>>> item
[5, 1, 3, 7, 9]
>>> random.shuffle(item)
>>> item
[5, 9, 7, 1, 3]
练习:生成随机验证码
import random
def v_code():
code = ‘‘
for i in range(5):
num=random.randint(0,9)
alf=chr(random.randint(65,90))
add=random.choice([num,alf])
code="".join([code,str(add)])
return code
print(v_code())
Output:
4G3MT
python 发红包import random用redenv_python 常用模块之random,os,sys 模块相关推荐
- python 发红包import random用redenv_python 发红包
红包1 import random def redpacket(cash,person): lst=[] sum1=0 cash = cash * 100 while cash>0 and pe ...
- python 发红包import random用redenv,Python微信发红包编码案例 微信发红包的架构模式 - push博客...
Python手机微信红包优化算法案例 #!/usr/bin/env python # coding: utf-8 import random # m : 红包个数 # n : 红包人数 # packe ...
- python笔记-1(import导入、time/datetime/random/os/sys模块)
python笔记-6(import导入.time/datetime/random/os/sys模块) 一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内 ...
- python发红包(转载)
#!/usr/bin/env python # -*- coding:utf-8 -*-# 1.获取文件夹的大小 # coding:utf-8 import osdef dir_size(path): ...
- python发红包程序解析-微信红包python实现
昨天去面试一个公司的时候,和对方技术负责人聊到一半,突然叫我现场写 一个微信红包出来,当时我是懵逼的(之前叫我手写一个排序出来,我只写出了一个冒泡出来),但是想了几秒钟,觉得应该挺简单的吧,发红包不就 ...
- Python 发红包(用numpy)
题目: # 1.按照本班级人数,如50人,生成对应数量的随机数,组成一个随机红包数组. # 2.调整红包中的每一个随机数,使得它们的总和为100. # 3.从csv文件(自己用excel创建,可以大家 ...
- python笔记-6(import导入、time/datetime/random/os/sys模块)
一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...
- python发红包问题_python 模拟发红包程序
程序源码:# -*- coding: utf-8 -*- # @Author : guangling_lin # @Email : guangling_lin@aliyun.com # @File : ...
- python发红包最佳手气王_给自己发了两亿个红包后,我找到了手气最佳的秘密
给大家讲一个故事,一个关于微信抢红包的故事,也是我自己做的一个小探究. 现如今抢红包已经是一个全民竞技体育了,每个人抢到那几分钱都特别地开心. 但有段时间我发现了一个奇怪的现象,就是不管别人发多大的红 ...
最新文章
- 内行的AI盛会——北京智源大会带你洞见未来!(含日程及限量优惠)
- Flutter GitHub Travis CI 搭建
- boost::intrusive::circular_slist_algorithms用法的测试程序
- 矩形排样 matlab,二维多阶段矩形剪切排样算法(精).pdf
- python 2 3 共存_python 2 3 共存
- python写机器人程序_用Python写的一个多线程机器人聊天程序
- java 方法 示例_Java集合checkedList()方法与示例
- 【转】自底向上和自顶向下的区别
- 用python实现队列的循环左移和右移的实验原理_python的移位操作实现详解
- CSDN博文大赛火爆开启
- python3.7.2怎么用不了pillow_python怎么加载Pillow包
- 中间弹框_Flutter AlertDialog弹框的基本使用概述
- 【搬运】各种知乎段子
- 阅读目标检测综述论文
- RxJava(10-操作符原理自定义操作符)
- HTML5第三弹:亦酷亦萌的网络拓扑图
- 在Keras使用center-losss损失函数\Keras自定义损失函数
- PySpark基础 —— SparkSQL
- Markdown KaTex 正负号±
- 手机的无线充电有什么实际意义呢?把数据线插在无线充电底座上,然后把手机放上去?
热门文章
- miniuidatagrid只允许修改某一列_State Processor API:如何读取,写入和修改 Flink 应用程序的状态...
- python 删除尾部0_python之List常见操作
- sdk和api有什么区别
- 微信自动回复如何实现?用 Python 就可以!
- 机器视觉与Tesseract介绍
- 简单的datalist分页代码
- 漫步最优化四十四——基本拟牛顿法
- hadoop java配置环境变量_hadoop2.7.2修改配置文件,配置linux java环境变量
- pytorch —— 正则化之Dropout
- 去哪儿-21-debuggiing-testing