python自动化办公1-os模块学习

python自动化办公

python自动化办公中必掌握的模块---os模块,os模块是python内置库,可以直接与操作系统进行对接

1、os模块调用可执行文件

python调用shell脚本或者调用系统命令,有两种方法,一是os.system(cmd),二是os.popen(cmd)

import os

os.system('regedit.exe')    # 可以调用系统的一些命令,regedit是注册表的命令,打开注册表,类似win+r,输入regedit.exe
os.system('services.msc')   # 打开服务管理里, 类似win+r,输入services.msc
os.system('cmd.exe')     # 直接在pycharm中打开cmd
os.system('ping www.baidu.com')   # 调用ping命令

直接调用可执行文件,比如调用qq(属性+可执行文件的地址)

# 直接调用可执行文件
os.startfile("C:Program Files (x86)TencentQQBinQQScLauncher.exe")

2、os模块操作文件和目录

os模块的几个属性

print(os.name)    # 返回操作系统的相关信息,window返回nt,Linux返回不同
print(os.sep)     # 返回文件路径分隔符,操作系统不一样,返回内容不一样,wind的分割符是,Linux是/
print(os.linesep)
print(repr(os.linesep))   # '
', 返回当前平台使用的行终止符,win是‘
’, linux是
,mac是

os模块操作文件与目录

print(os.getcwd())

改变工作目录
os.chdir('D:zgzengpychon爬虫')
print(os.getcwd())   # D:zgzengpychon爬虫
os.chdir('D:zgzengpychon基础python自动化')
print(os.getcwd())    # D:zgzengpychon基础python自动化

# 创建目录
os.mkdir('D:zgzeng2')   # 在指定的路径下创建目录
os.makedirs('D:zgzeng2zgzeng3zgzeng4')  # 在指定的路径下创建多级目录

# 删除目录
os.rmdir('D:zgzeng2zgzeng3zgzeng4')
os.removedirs('Dzgzeng2zgzeng3zgzeng4')

# 重命名
os.rename('directory_name', 'new_name')

# 返回指定目录下的文件与文件夹
print(os.listdir(r'D:zgzengpychon基础python自动化')) # ['1-os模块调用可执行文件.py', '2-os模块操作文件和目录.py']

3.os.path模块操作

# 判断路径是否为绝对路径
print(os.path.isabs(r"D:zgzengpychon基础python自动化a.txt"))   # True

# 判断路径是否为目录
print(os.path.isdir(r"D:zgzengpychon基础python自动化a.txt"))   # False

# 判断路径是否为文件
print(os.path.isfile(r"D:zgzengpychon基础python自动化a.txt"))   # True

# 判断文件是否存在
print(os.path.exists(r"D:zgzengpychon基础python自动化a.txt"))   # True




# 返回当前文件的大小,如果文件不存在就会报错
print(os.path.getsize('a.txt'))   # 17  返回字节数量

# 返回当前文件的绝对路径
print(os.path.abspath('a.txt'))    # D:zgzengpychon基础python自动化a.txt

# 返回返回文件的路径
print(os.path.dirname(r'D:zgzengpychon基础python自动化a.txt)'))   # D:zgzengpychon基础python自动化

# 返回当前时间
print(os.path.getctime('a.txt'))    # 1599468546.5112321  时间戳

# 返回文件的最近一次访问时间
print(os.path.getatime('a.txt'))   # 1599468639.3794036 返回时间戳

# 返回文件的最近修改时间
print(os.path.getmtime('a.txt'))   # 1599468639.3794036 返回时间戳
path = os.path.abspath('a.txt')
# 返回一个元组,将目录与文件分开
print(os.path.split(path))    # ('D:\zgzeng\pychon基础\python自动化', 'a.txt') 以\分割
print(os.path.splitext(path))  # ('D:\zgzeng\pychon基础\python自动化\a', '.txt')  拿到后缀

print(os.path.join('a', 'b', 'c'))  # 把文件和目录合成一个路径    ac

4、walk进行遍历

import os

path = os.getcwd()

# 遍历当当前路径
tuple_files = os.walk(path)
print(tuple_files)       # <generator object walk at 0x010154F8> 拿到的是一个生成器对象

# dirpath  指定目录路径
# dirnames  目录下所有的文件夹
# filenames  目录下所有文件

for dirpath, dirnames, filenames in tuple_files:
    for dir in dirnames:
        print(dir)
        print(os.path.join(dirpath, dir))
#         pass
    for file in filenames:
        print(file)
        print(os.path.join(dirpath, file))
#         pass
原文地址:https://www.cnblogs.com/zgzeng/p/13629221.html