一.OS模块
1.os.name
如果结果为nt, 则为windows系统,
如果结果为posix, 则为unix系统
当存在跨系统的时候则可以用这个做一个判断比如:
if os.name == "nt":
cmd = "ipconfig"
elif os.name == "posix":
cmd = "ifconfig"
os.system(cmd)
os.system(cmd) 纯粹的执行系统命令,但是没有返回结果
result = os.popen(cmd)
result.read() 这样你就可以对reuslt进行控制了,类型可以过滤出想要的东西
2.常用方法
os.listdir("C:") 列出C盘所有目录
os.chdir("..") 更换所在目录
os.getcwd 获取当前所在路径
os.mkdir("test") 创建test 文件
os.remove("myapp.log") 移动文件
os.rmdir("test") 删除文件
os.rename("demon1.py", "demon111.py") 重命名文件
os.linesep 显示换行符 windows换行符\n\r linux换行符\n mac \r
if not os.path.exists("test"):
os.mkdir("test")
判断文件是否存在,如果不存在就创建。
os.path.abspath("./") 当期目录的绝对路径
os.path.split() 分割路径,形成一个元祖
二、sys模块
1.sys模块提供了一系列有关Python运行环境的变量和函数
常用的方法:
1.sys.stdout 方法
import sys
f = open('log.txt','a') #以追加的模式打开一个文件
__console__ = sys.stdout #备份默认console命令行
sys.stdout = f #指定标准输出到文件
print('hello python')
sys.stdout = __console__ #将标准输出改为模式的console命令行模式
print('hello world') #输出将会在console命令行下
2.sys.exit(n) 退出程序,正常退出时exit(0)
三、random随机模块
random()
方法返回随机生成的一个实数,它在[0,1)范围内。
可以指定范围和步长
random.randrange(1, 100) 随机在1到100取数
random.sample([1, 2, 3, 4, 5, 6, 7], 2)在一个列表里随机取2个数字
小例子:获取骰子出现单面出现次数
class NumberCount(object):
def __init__(self):
self.number1 = 0
self.number2 = 0
self.number3 = 0
self.number4 = 0
self.number5 = 0
self.number6 = 0
def count(self):
for i in range(1, 6001):
number = random.randint(1, 6)
if number == 1:
self.number1 += 1
if number == 2:
self.number2 += 1
if number == 3:
self.number3 += 1
if number == 4:
self.number4 += 1
if number == 5:
self.number5 += 1
if number == 6:
self.number6 += 1
def getResult(self):
print("1出现的次数: {0}".format(self.number1))
print("2出现的次数: {0}".format(self.number2))
print("3出现的次数: {0}".format(self.number3))
print("4出现的次数: {0}".format(self.number4))
print("5出现的次数: {0}".format(self.number5))
print("6出现的次数: {0}".format(self.number6))
if __name__ == "__main__":
numberCount = NumberCount()
numberCount.count()
numberCount.getResult()
四.string模块
1.string模块主要用于对字符串进行操作。string里的许多特性都已经移植到str和unicode对象的方法里去了,常用方法:
string.ascii_letters 获取大写和小写字母
string.digits 获取数字
string.ascii_lowercase 获取小写字母
string.ascii_uppercase 获取大写字母
string.printable 获取大小写字母数字和特殊字符
string.punctuation 获取特殊字符
string.hexdigits 获取16进制字符
这个可以用来当做验证码或者复杂密码生成器:
print("".join(random.sample(string.ascii_letters + string.digits, 4)))
随机取4个字母和数字。