首页 > 其他分享 >自动化办公

自动化办公

时间:2023-03-04 15:02:28浏览次数:34  
标签:data platform 办公 自动化 print path import os

Prerequisite

全部知识点来源:扇贝编程
结合知识点:python 高级用法 -- IO编程

获取计算机信息

#! /usr/bin/env python
# -*- coding: UTF-8 -*-
# @Author: Xiaotuan

import os
import sys
import platform

print(os.name) # 操作系统类型(posix -> linux,nt -> windows,java -> java 虚拟机)
print(sys.platform) # 系统的平台标识(win32 -> windows,linux -> linux,cygwin -> windows,darwin -> Mac OS)
print(sys.executable) # Python 解释器的路径
print(platform.system()) # 操作系统的名字(Linux,Windows,Java)
print(platform.platform()) # 操作系统的名称及版本号
print(platform.version()) # 操作系统的版本号
print(platform.architecture()) # 操作系统的位数
print(platform.machine()) # 计算机的处理器架构
print(platform.node()) # 计算机的名称
print(platform.processor()) # 计算机的处理器信息
print(platform.uname()) # 包含上面部分的信息汇总
"""
nt
win32
D:\Software\Anaconda\envs\data\python.exe
Windows
Windows-10-10.0.22000-SP0
10.0.22000
('64bit', 'WindowsPE')
AMD64
DESKTOP-XIAOTUAN
Intel64 Family 6 Model 158 Stepping 10, GenuineIntel
uname_result(system='Windows', node='DESKTOP-XIAOTUAN', release='10', version='10.0.22000', machine='AMD64')
"""

print(os.environ) # 操作系统中定义的环境变量
print(os.environ.get('PATH')) # 获取某个环境变量的值
"""
environ({xxx: xxx, xxx: xxx})
xxx; xxx; xxx
"""

文件操作基础

os 库的常用函数

# 将工作目录移至指定路径
os.chdir()
# 获取当前的工作路径
os.getcwd()
# 列举出指定目录下的所有文件
os.listdir()
# 创建目录
os.mkdir()
# 改变文件或文件夹的名称或位置
os.rename(old_path, new_path)
# 分离扩展名
os.path.splitext()
# 文件路径拼接
os.path.join()
# 分离扩展名
os.path.splitext()
  • 常见用法
# 使用 .. 跳转到上级目录
os.chdir('..')

# 改名
old_path = r'.\b.txt'
new_path = r'.\a.txt'
os.rename(old_path, new_path)

# 分离扩展名方法
path = '/Users/wenwen/Desktop/娱乐/2020/开心.jpg'
file_name = '开心.jpg'
file_name2 = '2.开心.jpg'

# 传入路径
print(os.path.splitext(path))
# 输出:('/Users/wenwen/Desktop/娱乐/2020/开心', '.jpg')

# 传入文件名
print(os.path.splitext(file_name))
# 输出:('开心', '.jpg')

# 传入带 . 的文件名
print(os.path.splitext(file_name2))
# 输出:('2.开心', '.jpg')
  • 案例【获取目录下全部文件扩展名】
import os

path = '/Users/wenwen/Desktop/娱乐/2020'
os.chdir(path)

# 用列表生成式对目录中的每个文件进行分割,并取元组中第二个元素
split = [os.path.splitext(item)[1] for item in os.listdir()]

# 过滤掉空字符串
extensions = [i for i in split if i != '']

# 用 set() 函数给最后的结果去重
extensions = list(set(extensions))

print(extensions)
# 输出:['.jpg', '.docx', '.mp3']
# ~~~~~~~~~~~~~~ 文件读写 ~~~~~~~~~~~~~~
# r 只读 w+ 读写 a+ 追加 b 二进制
# 读取全部信息
f = open("test.txt", "r")
data = f.read()
f.close()
# 写入全部信息
f = open("test.txt", "w+")
data = "123"
f.write(data)
# 读取每行信息
f = open("test.txt", 'r')
lines = f.readlines()
for line in lines:
    # replace 执行顺序先左再右
    data = line.replace('\r', '').replace('\n', '')
    print(data)
# 记得结束函数调用
f.close()
"""
# 这种方式与上面的大同小异,甚至更加麻烦,不推荐
with open("test.txt", 'r') as f:
    lines = f.readlines()
    for line in lines:
        data = line.replace('\r', '').replace('\n', '')
        print(data)
"""

# ~~~~~~~~~~~~~~ 一键重命名 ~~~~~~~~~~~~~~
import os
# 修改路径
path = 'C:/Users/LILANJUN/Desktop/Temporary/ctf/'
f = os.listdir(path)
n = 0
name_num = 0
for i in f:
    # 仅选择目标格式的文件
    if("png" not in f[n]):
        n += 1
        continue
    # 设置旧文件名(就是路径 + 文件名)
    oldname = path + f[n]
    # print(oldname)
    # 设置新文件名
    newname = path + 'tv-' + str(name_num) + '.png'
    # 用 os 模块中的 rename 方法对文件改名
    os.rename(oldname, newname)
    print(oldname, '======>', newname)
    n += 1
    name_num += 1

发邮件

使用到 yagmail 模块,它主要用来自动化发送邮件

pip install yagmail

# 导入 yagmail 模块
import yagmail
import os

path = os.path.join(os.path.abspath('.'), 'a.xlsx')
print(path)

# 连接邮箱服务器
yag = yagmail.SMTP(user='2796308562@qq.com', password='cqbmekjsudcfdhdh', host='smtp.qq.com')

# 邮件内容
yag.send(to=['2796308562@qq.com'], subject='Python 发送邮件', contents=['带有附件的', path])

Excel

Word

综合实践

标签:data,platform,办公,自动化,print,path,import,os
From: https://www.cnblogs.com/CourserLi/p/17023693.html

相关文章