python-27-其他常用模块(二)

前言

本编将学习的是os模块、sys模块、随机数模块。

分别是:os、sys、random

一、os模块

Python当中的os模块提供了丰富的方法来,对操作系统进行目录和文件处理。

import os
print(os.getcwd())                       # 获取当前目录
os.chdir('..')                           # chdir()相当于 cd
print(os.curdir)                         # 当前目前,相当于 .
os.mkdir('dirname')                      # 创建单个目录
os.makedirs('dirname1/dirname2')         # 创建多层目录
os.rmdir('dirname')                      # 删除单个空目录,若目录不为空则无法删除会报错
os.removedirs('dirname1')                # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.listdir('dirname')                    # 列出指定目录下的所有文件,并以列表方式打印
os.remove('path')                        # 删除一个文件
os.rename("oldname", "newname")          # 重命名文件/目录
os.stat('path/filename')                 # 获取文件/目录信息
os.system("bash command")                # 运行dos/shell命令,直接显示
os.popen("bash command").read()          # 运行dos/shell命令,获取执行结果
os.path.abspath(path)                # 返回path规范化的绝对路径
os.path.split(path)                   # 将path分割成目录和文件名二元组返回
os.path.dirname(path)                 # 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.realpath(__file__)               # 获取当前的目录
os.path.basename(path)                # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.exists(path)                  # 如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)                   # 如果path是绝对路径,返回True
os.path.isfile(path)                  # 如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)                   # 如果path是一个存在的目录,则返回True。否则返回False
os.path.join('dirname1', 'dirname2')     # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path)                # 返回path所指向的文件或者目录的最后访问时间
os.path.getmtime(path)                # 返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path)                 # 返回path的大小
print(os.sep)                            # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
print(os.linesep)                        # 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
print(os.pathsep)                        # 输出用于分割文件路径的字符串 win下为;,Linux下为:
print(os.name)                           # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

二、sys模块

1.sys模块是与python解释器交互的一个接口:

import sys

print(sys.path)             # python模块目录路径(python环境变量)
print(sys.path.clear())     # 清空python模块环境变量
print(sys.version)          # 获取当前 python 版本信息
print(sys.platform)         # 获取系统版本(不准确的)
print(sys.argv)             # 命令行参数list
print(sys.exit(0))          # 参数0正常退出,1异常退出

 2.sys.argv 命令行参数用法:

在dos命令或shell命令下执行,python3 py文件path 参数1 参数2....(编辑器里运行必定报错)

import sys
res_avg = sys.argv
name = res_avg[1]
pwd = res_avg[2]
print(type(name), name, type(pwd), pwd)
if name == 'gsxl' and pwd == '123456':
    print('登录成功!')
else:print('账户或密码错误!!!')

G:\python_study\study\study_python\python_Basics>python day18.py
Traceback (most recent call last):
  File "day18.py", line 81, in <module>
    name = res_arvg[1]
IndexError: list index out of range

G:\python_study\study\study_python\python_Basics>python day18.py gsxl 123456
<class 'str'> gsxl <class 'str'> 123456
登录成功!

可以看到:python day18.py gsxl 123456,传入了参数1 参数2,如果没传是没有这个变量那么运行脚本肯定是会报错。

三、random随机数模块

1.随机数模块方法:

'''
一、random:随机数模块
'''
import random
print(random.random())                          # 大于0且小于1之间的小数
print(random.uniform(1, 3))                     # 大于1小于3的小数
print(random.randint(1, 5))                     # 大于等于1且小于等于5之间的整数
print(random.randrange(1, 10, 2))               # 大于等于1且小于10之间的奇数
print(random.randrange(2, 11, 2))               # 大于等于2且小于等于10之间的偶数
print(random.choice([1, '23', [4, 5]]))         # 1或者23或者[4,5])
print(random.sample([1, '23', [4, 5]], 2))      # 列表元素任意2个组合,返回的个数为函数的第二个参数

2.随机生成6位验证码:

import random
def v_code():

    code = ''
    for i in range(6):
        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())

  欢迎来大家QQ交流群一起学习:482713805

猜你喜欢

转载自www.cnblogs.com/gsxl/p/12445728.html
今日推荐