python 常用功能函数-文件操作 正则 运行命令行

2 篇文章 0 订阅

1. 取文件前缀和后缀名

import os, cv2, time, sys

# file name
name = os.path.splitext(name)[0]
# file type name
file_type = os.path.splitext(name)[-1][1:]
# . type
file_type = os.path.splitext(name)[-1]

2. 判断后缀名是否为某一文件类型

if filename.endswith('.jpg'):

3. 文件从A文件夹移动到B文件夹

import shutil
shutil.move(file_Dir + name, target_Dir + name)
# 复制文件:
shutil.copyfile("oldfile", "newfile")  # oldfile和newfile都只能是文件
# 复制文件夹:
shutil.copytree(r"D:\stuy", r"D:\newfile")  # olddir和newdir都只能是目录,且newdir必须不存在
# 重命名文件(目录)
os.rename(r"D:\newfile", r"D:\newfile1")  # 文件或目录都是使用这条命令
# 移动文件(目录)
shutil.move(r"D:\test", r"D:\test1")
shutil.move(r"D:\123.jpg", r"D:\test1\123a.jpg") #test1文件夹必须存在

4. 文件从A文件夹移动到B文件夹并重命名

for filename in sorted(os.listdir(gt_path)):
    if filename.endswith('jpg'):
        os.rename(gt_path+filename, gt_path1+filenames[i])
        i = i + 1

5. 获取文件路径中最后一个文件夹名

path = "D:/data/gt" # 最后不用加 /
os.path.basename(path)

6. os.path 模块的几种常用方法

os.path 模块主要用于获取文件的属性。

#方法                      说明
os.path.abspath(path)     返回绝对路径
os.path.basename(path)     返回文件名
os.path.commonprefix(list)     返回list(多个路径)中,所有path共有的最长的路径
os.path.dirname(path)     返回文件路径
os.path.exists(path)     如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.lexists     路径存在则返回True,路径损坏也返回True
os.path.expanduser(path)     把path中包含的"~""~user"转换成用户目录
os.path.expandvars(path)     根据环境变量的值替换path中包含的"$name""${name}"
os.path.getatime(path)     返回最近访问时间(浮点型秒数)
os.path.getmtime(path)     返回最近文件修改时间
os.path.getctime(path)     返回文件 path 创建时间
os.path.getsize(path)     返回文件大小,如果文件不存在就返回错误
os.path.isabs(path)     判断是否为绝对路径
os.path.isfile(path)     判断路径是否为文件
os.path.isdir(path)     判断路径是否为目录
os.path.islink(path)     判断路径是否为链接
os.path.ismount(path)     判断路径是否为挂载点
os.path.join(path1[, path2[, ...]])     把目录和文件名合成一个路径
os.path.normcase(path)     转换path的大小写和斜杠
os.path.normpath(path)     规范path字符串形式
os.path.realpath(path)     返回path的真实路径
os.path.relpath(path[, start])     从start开始计算相对路径
os.path.samefile(path1, path2)     判断目录或文件是否相同
os.path.sameopenfile(fp1, fp2)     判断fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2)     判断stat tuple stat1和stat2是否指向同一个文件
os.path.split(path)     把路径分割成 dirname 和 basename,返回一个元组
os.path.splitdrive(path)     一般用在 windows 下,返回驱动器名和路径组成的元组
os.path.splitext(path)     分割路径,返回路径名和文件扩展名的元组
os.path.splitunc(path)     把路径分割为加载点与文件
os.path.walk(path, visit, arg)     遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数
os.path.supports_unicode_filenames     设置是否支持unicode路径名

7. 正则表达式

label_re = re.compile(r'.*{}(\d+)\.geojson'.format(
     self.label_fn_prefix))
scene_ids = [
      label_re.match(label_path).group(1) for label_path in label_paths
        ]

8. 运行命令行

import subprocess
subprocess.call (["cmd", "arg1", "arg2"],shell=True)
import os
tmp = os.popen('ls *.py').readlines()
# commands 在python2中可用
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yddcs

你的鼓励--创作的动力!!!

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

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

打赏作者

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

抵扣说明:

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

余额充值