OS模块函数

os.name查看当前系统

 

os.getcwd()查看当前目录

 

os.listdir(路径)查看路径下文件

 

os.path.isfile(''路径下的文件'')查看是否是文件

 

os.path.isdir(同上)查看是否是文件夹

 

os.path.isabs(路径) 查看是否是绝对路径

 

设置绝对路径:os.path.abspath(文件名)

 

重命名 os.rename('被修改的路径加文件','新路径新名字')

 

创建空文件 os.mknod(文件名)

同理创建目录 os.mkdir(目录名)

 

创建多级目录os.makedirs(路径)

 

删除目录os.removedirs(r'删除的路径')

 

删除文件os.remove('文件名')

 

os.getpid()获取进程号

 

修改当前目录:修改到home目录下os.chdir(r'/home/')

 

将目录与文件分离出来os.path.split(r'/home/test.txt')

结果为('/home','test.txt')

也可以分别获取文件或文件夹:

获取文件夹:os.path.dirname(路径)

获取文件:os.path.basename(路径)

 

合并目录文件:os.path.join(r'要合并的路径','要合并的文件')

 

修改用户输入错误路径:dir = r'c:/work\123.txt'

os.path.normpath(dir) 修改后为:c:\\work\\123.txt

 

获取系统指令内容,保存到变量中

test=os.popen('ifconfig').read()

 

 

 

 

函数传参:

要指定传入的数据类型是元组,则在参数前加*

def fun(*a)

    return a

fun(1,5,9)

返回元组(1,5,9)

 

同理如果传入数据为字典,在参数前加**

def fun2(**a)

    return a

fun2(python=1,hello=2)

返回:{'python':1 , 'hello':2}

 

但是如果传入参数是列表,例如

def f(x,li=[]):

    for i in range(x):

        li.append(i*i)

    print(li)

f(4)

f(5)

打印的结果为

[0, 1, 4, 9]

[0, 1, 4, 9, 0, 1, 4, 9, 16]

这样打印的原因是列表为参数的时候,列表即为全局变量,因为在函数预处理时候已经为他分配内存空间,所以打印的内容就如上所示

 

函数内部定义全局变量,定义时无法赋值

def fun(a,b):

    global x

    x = 3

    return a*b*x

print(fun(20,30))

z=x+5

print(z)

 


 

模块导入

导入所有函数: from 模块 import *  这样在编写代码中可以直接利用模块内的函数,而不用再去模块.函数

内置模块:

  • sys模块

sys.platform 检查系统

sys.argv[0] 路径本身

sys.argv[1]  获取程序第一个参数 [2]第二个参数

也可以进行参数 sys.argv[1:]可以获取多个参数

 

  • datatime模块

获取当前时间:now=datatime.datetime.now() 

输出时间方式:now.strftime("%d-%m-%Y %I:%M:%S") 大Y表示4位数年份,小y两位数,I表示24小时制 H表示12小时制

 

 

  • optparse

关于这个模块后面会专门为此模块写出解释,实例进行学习

 

  • hashlib

a=hashlib.md5() 将md5函数指针赋予a

a.update('python'.encode('utf-8'))

print(a.hexdigest()) 打印出来的就是python的md5值

 

 编写一个md5破解工具(练习语法)

python 导入oss python怎么导入os模块_python 导入oss