Python 常用内建模块(os, sys,random)
一、os 模块
1,操作系统与环境变量
import os
print(os.name) #操作系统类型,如果是posix 说明系统是linux unix 或 mac os x ;如果是nt 就是windows 系统
print(os.uname()) #获取详细的系统信息,uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关
print(os.environ) #在操作系统中定义的环境变量,全部保存在os.environ这个变量中,可以直接查看
print(os.environ.get('PATH')) #要获取某个环境变量的值,可以调用os.environ.get('key')
print(os.sep) # 当前操作系统的路径分隔符
print(os.linesep) # 当前操作系统的换行符
print(os.pathsep) # 当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
os.system('ipconfig') #用来执行操作系统命令,只能执行,获取不到结果
res = os.popen('ipconfig') #用来执行操作系统命令,并且获取到返回结果.read
print(res.read())
print(os.popen('ipconfig').read())
os.popen('top -n 1').read() #popen 无法执行top ping 等动态命令
2,操作文件和目录
注:操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中
常用操作:
print(os.getcwd())#取当前工作目录
print(os.mkdir("test1")) # 创建文件夹
print(os.remove("../day4/5.png")) # 删除文件,不能删文件夹。
print(os.listdir('c://')) # 列出一个目录下的所有文件
os.rename("test", "test1") # 重命名
print(os.path.abspath(__file__)) # 获取绝对路径,能自动识别当前系统
print(os.path.split("c:\\usr\\hehe\\hehe.txt")) # 分割路径和文件名
print(os.path.dirname("c:\\usr\\hehe\\hehe.txt")) # 获取父目录
print(os.path.exists("c://test2")) # 目录/文件是否存在
print(os.path.isfile(r"E:\txz\day2.zip"))#判断是否是一个文件 ,r 转译特殊字符,当成普通字符对待(如\t)
print(os.path.isdir(r"E:\txz\day2"))#是否是一个文件夹
name = 'a.sql'
print(os.path.join("e",name))#拼接成一个路径,(自动识别当前系统的路径分隔符,实现跨平台) 其他:
print(os.chdir("..")) # 更改当前目录
print(os.getcwd())#取当前工作目录
print(os.curdir) # 当前目录,相对路径
print(os.pardir) # 父目录,相对路径
print(os.rmdir("test1")) # 只能删除空文件夹
print(os.stat("笔记.txt"))#获取文件信息
print(__file__) #__file__就是这个文件的绝对路径
print(os.path.basename("c:\\usr\\hehe\\hehe.txt")) # 获取最后一级,如果是文件显示文件名,如果是目录显示目录名
二、sys 模块
import sys
print(sys.path) #环境变量
print(sys.platform) #看当前系统是什么
print(sys.version)#看python的版本
sys.path.insert(0,BASE_PATH) # 加入环境变量
print(sys.exit('程序退出'))
quit('程序退出') #退出程序
print(sys.argv) #是获取运行python文件的时候 传入的参数
sys.stdout.write('please:') #向屏幕输出一句话
val = sys.stdin.readline()[:-1] #获取输入的值
print(val)
import sys
args = sys.argv #运行sys.argv的方法:


实例:
#清理日志脚本
import sys,os
def clean_log(path):
print('日志已经清理')
args = sys.argv #运行sys.argv的方法:
if len(args)>1:
path = args[1]
if os.path.isdir(path):
clean_log(path)
else:
print('路径不存在!')
else:
print('运行这个python文件需要传入一个路径!\n'
'运行示例: python clean_log.py /usr/tomcat/logs')
三、random 模块
import random ,string
s = random.choice(['a','b','c','df'])#随机取一个元素
s = random.choice()#随机取一个元素
res = random.sample(string.digits,3) #随机取N个元素
print(''.join(res))
print(random.randint(1,199))#1-199随机取一个整数
print(string.digits) #所有的数字0-9
print(string.ascii_lowercase) #所有的小写字母
print(string.ascii_uppercase) #所有的大写字母
print(string.ascii_letters) #所有的小写字母+所有的大写字母
print(string.punctuation) #所有的特殊字符
print(string.ascii_letters+string.digits)#所有的数字和字母
res = random.uniform(1,9)#随机取1-9之间的浮点数
print(res)
print(round(res,2))# 保留几位小数,如果四舍五入之后,最后一位小数是0,那么不显示
print(random.random()) #取0-1之间随机小数
s = ['a','b','c','d','e']
random.shuffle(s) #洗牌,打乱顺序,只能传list
print(s)
Python 常用内建模块(os, sys,random)的更多相关文章
- Python常用内建模块
Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...
- python常用内建模块 collections,bs64,struct,hashlib,itertools,contextlib,xml
# 2 collections 是Python内建的一个集合模块,提供了许多有用的集合类. # 2.1 namedtuple #tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: p ...
- Python常用内建模块和第三方库
目录 内建模块 1 datetime模块(处理日期和时间的标准库) datetime与timestamp转换 str与datetime转换 datetime时间加减,使用timedelta这个类 转 ...
- collections(python常用内建模块)
文章来源:https://www.liaoxuefeng.com/wiki/897692888725344/973805065315456 collections collections是Python ...
- Python 常用内建模块(time ,datetime)
1,在Python中,与时间处理有关的模块就包括:time,datetime以及calendar. 2,在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(st ...
- python常用内建模块——datetime
datetime是python处理日期和时间的标准库. 获取当前日期和时间 >>>from datetime import datetime >>>now = da ...
- python常用内建模块--datetime
datetime模块中的datetime类: 获取当前时间:datetime.now() 当前操作系统时区时间,date.utctime(UTC时间) 转换成时间戳:timestamp() 和具体时区 ...
- python 常用内建模块(3) base64
Base64是一种用64个字符来表示任意二进制数据的方法. 用记事本打开exe.jpg.pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的 ...
- python常用内建模块--base64
Base64是一种任意二进制到文本字符串的编码方法,常用于在URL.Cookie.网页中传输少量二进制数据. import base64 a = 'abcdef/+'b= base64.b64enco ...
随机推荐
- RRGGBBAA或者RRGGBB转换成rgba()
//十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; /*16进制颜色转为RGB格式*/ var colorRgb = fun ...
- windows2012 IIS部署GeoTrust证书踩过的坑。
系统:windows2012 环境:IIS8 在阿里云上买了GeoTrust证书, 按照说明下载证书到服务器, 导入证书, 给IIS站点部署https. 阿里云部署帮助文档:https://help ...
- 纯CSS实现文字一行居中,多行左对齐的方法
其实这种需求还是蛮常见的,主要用于产品列表页面,用于产品图片下面,显示产品的名称. 想要实现的效果为: 未知文字长度,当文字长度小于盒子宽度,也就是一行时,文字居中. 当文字长度大于盒子的宽度,会自动 ...
- CCControlExtension/CCControlButton
#ifndef __CCCONTROL_BUTTON_H__ #define __CCCONTROL_BUTTON_H__ #include "CCControl.h" #incl ...
- git 超前一个版本 落后一个版本的解决方案
在使用SourceTree的时候经常会遇见超前一个版本,落后N个版本的情况,遇见这种情况应该怎么办呢? 首先打开终端,最好是从SourceTree里面打开,菜单栏有个终端按钮. 然后输入: $ git ...
- 【License】一张图该诉你各种License的含义?
一张图该诉你各种License的含义:
- PHP定时执行计划任务
一.Windows计划任务 在web 服务下新建需要执行的文件 二.新建bat文件,命名为test.bat,内容如下: D:\php\php.exe -q D:\website\test.php 三. ...
- WinKawaks如何载入游戏
1 把下载的游戏放入roms目录 2 运行Kawaks,点击载入游戏,勾选"仅存在的",点击扫描所有游戏.然后会出现所有名字正确的游戏.你下载的zip如果有中文或者名字不对,都是无 ...
- jQuery Recipies - 使用map来过滤对应的元素集
<table id="tblEmployee" class="normal_table"> <tr> <td>Employe ...
- TortoiseSVN版本管理软件使用简单说明
很多时候在写一个小的项目不想使用github等工具,只想简单在本地搭建一个版本管理器.那么TortoiseSVN就非常适合. 第一步:下载TortoiseSVN,http://tortoisesvn. ...