[复习]Python回顾 OS模块,函数传参,模块导入

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破解工具(练习语法)
 
 
 

猜你喜欢

转载自www.cnblogs.com/Tempt/p/11227453.html