Python自动化办公——文件夹基础操作

文件夹基础操作

一、目录操作

1.1导入os模块

import os

1.2输出当前工作目录

os.getcwd()

1.3路径拼接

os.path.join(param1, param2, ...)

1.4输出指定路径下的所有文件夹和文件

os.listdir([path name])

1.5判断指定路径中的指定项是否为文件夹

os.path.isdir()
  • 示例
import os

files = os.listdir('d:')

for file in files:
    print(file, os.path.isdir(os.path.join('d:', file)))## 输出指定项是否为文件夹

1.6os.scandir()

  • 作用同os.listdir(),但是功能较为强大
  • 可以使用迭代器遍历出其中的所有项
for file in os.scandir():
    ...do something...
1.6.1获取文件名
file.name
1.6.2获取文件路径
file.path
1.6.3指定项是否为文件夹
file.is_dir()
1.6.4指定项是否为文件
file.is_file()
1.6.5获取文件信息
file.stat()

返回信息内容

  • st_size:文件大小(单位:bytes)
  • st_atime:文件的最近访问时间
  • st_mtime:文件最近修改时间
  • st_ctime:windows下表示创建时间
  • st_birthtime:只在Mac、Linux下可用,表示创建时间

二、文件或文件夹操作

2.1遍历文件夹

2.1.1os.walk()
  • 用法
os.walk(绝对路径或相对路径)
  • 示例
for dirpath, dirnames, files in os.walk('d:/'):
    ...do something...

2.2搜索文件

2.2.1glob.glob()

此函数需要导入glob模块

  • 用法
import glob
glob.glob(文件名) # 可以使用通配符
  • 方法参数
recursive:值为boolean类型,为true时会进入文件夹内搜索

2.3单独获取指定文件信息

2.3.1os.stat()
  • 用法
os.stat(指定文件路径) # 返回内容同file.stat()

2.4文件或文件夹操作

2.4.1文件夹的创建
  • 新建文件夹
os.makedir(文件夹名) # 创建文件夹,当文件夹已存在时会报错
  • 防止重复创建文件夹
if not os.path.exists(文件夹名):
    os.makedir(文件夹名)
  • 创建多层文件夹
os.makedirs('第一层/第二层/第三层')
2.4.2复制文件

导入shutil模块

  • 语法
import shutil
shutil.copy([文件夹路径], [要复制到的路径]) # 第二个参数为某个文件夹的路径会将文件直接复制,若为文件路径则会将文件复制重命名为指定的文件名
2.4.3复制文件夹
  • 语法
import shutil
shutil.copytree([要复制的文件夹], [复制路径])

此操作会将文件夹内的所有文件和文件夹都复制到新的路径

2.4.4移动文件或文件夹
  • 语法
import shutil
shutil.move([要移动的项目], [移动位置])
2.4.5重命名文件或文件夹
  • 语法
import os
os.rename([项目名], [新名称])
2.4.6删除文件
  • 语法
import os
os.remove([文件名])
2.4.7删除文件夹
  • 语法
import shutil
shutil.rmtree([文件夹])

三、创建临时文件或文件夹

3.1创建临时文件

  • 示例
from tempfile import TemporaryFile

f = TemporaryFile('w+') # 创建临文件
f.write('hello world!') # 写入数据
f.seek(0) # 移动指针
data = f.readlines() # 读取文件
print(data)
print(f.name)
f.close()

3.2创建临时文件夹

  • 示例
from tempfile import TemporaryDirectory

with TemporaryDirectory() as tempDir:
    print(tempDir)

在程序结束后临时文件和文件夹都会被删除

四、常用函数

4.1判断字符串是否通配符匹配

4.1.1fnmatch.fnmatch()

此函数需要导入fnmatch模块

  • 用法
fnmatch.fnmatch([字符串], [带通配符的字符串]) # 返回boolean值

4.2Unix时间戳

4.2.1time.ctime()

此函数需导入time模块

  • 用法
time.ctime(时间戳)
4.2.2datatime.datetime.fromtimestamp()

此函数需导入datetime模块

  • 用法
datetime.datetime.fromtimestamp(时间戳)
xlwings是一个用于在Python操作Excel的模块。它提供了读写Excel文件的功能,并且可以调整Excel文件的表格宽度、字体颜色等。xlwings可以通过引用单元格的行列tuple来操作单元格,也可以将数据存储到单元格中。例如,可以使用xlwings将一个值存储到指定的单元格中,也可以将一个列表存储到一行或一列中。同样,可以使用xlwings读取单个值或一段数据。\[2\]\[3\] 在你提供的示例中,xlwings被用于枚举指定文件夹下的Excel类型文件,并删除这些文件中的K列。首先,使用os模块的listdir函数列出指定文件夹下的所有文件,并将Excel类型的文件路径存储在一个列表中。然后,使用xlwings打开每个Excel文件,获取第一个工作表的行数,并遍历每一行。如果第11列的值不为空,就将其置为空。最后,保存并关闭Excel文件。需要注意的是,在程序结束后,需要使用del app语句来关闭Excel进程,以防止进程残留。\[1\] 总之,xlwings是一个方便的Python模块,可以帮助你实现Excel自动化办公的任务。 #### 引用[.reference_title] - *1* [Python3学习笔记08-Python3读写Excel表之xlwings](https://blog.csdn.net/asanscape/article/details/80372743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [插上翅膀,让Excel飞起来——xlwings(一)](https://blog.csdn.net/weixin_30900589/article/details/98436561)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌尘吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值