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(时间戳)

你可能感兴趣的:(Python)