Python标准库os学习使用记录

Python标准库os用法记录

今天看到一段代码:

video_name = os.path.splitext(os.path.basename(args.input))[0]
frame_folder = os.path.join('tmp_frames', video_name)
os.makedirs(frame_folder, exist_ok=True)

里面有很多os的用法,记录一下
(先附上一个转载的详细说明:os.path常用路径操作

os.path.basename:找到最后一个"/"后面的元素,我做了一些实验 (注意最后一行是‘’)

>>> os.path.basename('/media/qiaohui/Real-ESRGAN/CODE_OF_CONDUCT.md')
'CODE_OF_CONDUCT.md'
>>> os.path.basename('/media/qiaohui/Real-ESRGAN')
'Real-ESRGAN'
>>> os.path.basename('/media/qiaohui/Real-ESRGAN/')
''

os.path.splitext: 分离文件名和扩展名,话不多说上图

>>> os.path.splitext('CODE_OF_CONDUCT.md')
('CODE_OF_CONDUCT', '.md')
>>> os.path.splitext('model.pth.tar')
('model.pth', '.tar')
>>> os.path.splitext('model.pth')
('model', '.pth')

所以看回第一行代码

video_name = os.path.splitext(os.path.basename(args.input))[0]

先用basename得到XXX.mp4,然后用splitext得到(‘XXX’,‘.mp4’),[0]取得’XXX’即为想得到的video name

接着os.path.join我想不用太多介绍,自动合成路径,也就是自动帮你加个’/‘,算了还是来个图吧

>>> os.path.join('tmp_frames','XXX')
'tmp_frames/XXX'

最后是os.makedirs,这个我也是昨天刚看见的用法,之前一直只知道os.mkdir,还是我孤陋寡闻了。。
其实区别只是os.makedirs创建多级目录,os.mkdir创建单级目录,如果只建一个比如说,666文件夹,那只需要os.mkdir(‘666’);如果要建多级,比如在666下建一个888,那就是makedirs(‘666/888/’),后面那个exist_ok的参数如果是True,那如果文件已经存在就不会出现报错,如果是False就会报错


后续碰到其他的os用法还会继续更新在这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值