首页 > 编程语言 >python--python脚本中保存处理后的音频文件到指定文件夹时报错permission denied 的问题

python--python脚本中保存处理后的音频文件到指定文件夹时报错permission denied 的问题

时间:2023-06-17 21:55:47浏览次数:42  
标签:permission python 保存 音频文件 文件夹 报错 export

问题1:自己编写的python脚本中,将处理后的音频文件保存到指定的文件夹(用到了pydub库对音频文件进行处理),但保存处理后的文件到指定文件夹时,会报错permission denied 的错误,如下截图

解决思路:一开始网上查资料,基本上都是说文件夹没有读写权限,让设置文件夹权限等操作,但设置了之后还是会报错。后来觉着可能是创建文件夹的方法没有指定创建的文件夹权限,但看了一下 os.makedirs 这个方法,默认的mode=0o777,即默认权限全开。所以也不是这个问题。

 后面发现保存音频文件的export方法的参数好像写的不对,如下图所示,export 方法中传参的是文件夹路径和指定的文件格式。但看了一下export方法,发现out_f这个参数指定的是path to destination audio file ,所以不应该传文件夹的路径,而是要保存的文件路径,即export 的out_f 参数值为:文件夹后面要拼接个音频文件名称,

export 方法修改后如下,chunk_name 参数即为文件名。 按照如下方式执行后, 处理后的音频文件就可以保存到指定的文件夹下面了。

 

问题2:问题1解决了音频文件保存不到文件夹中的问题,但虽然按照上述方式可以将处理后的音频文件成功保存了,但脚本执行结束后,依然会报错 permissionerror 的问题

解决方法:问题2确实搞不懂为什么还是会报错,文件都保存到文件夹里了,还保存此文件夹没有权限的问题。但想了一下我的功能确实都实现了,无论报错不报错,对我都没有影响了,那我直接忽略这个报错就可以了。所以我就用了个 try except 方法,对permissionerror 的报错进行忽略的操作。如下图所示代码,捕捉到PermissionError 时候,直接pass 就可以了。

 如下图,最后的执行效果。

知识总结:以上涉及到了文件夹创建的知识,这里总结一下python 创建文件夹的知识,如下图xmind

 

标签:permission,python,保存,音频文件,文件夹,报错,export
From: https://www.cnblogs.com/ccnn9/p/17488307.html

相关文章

  • python--python脚本编写时遇到的问题记录
    问题1:github上下载自动化的项目到本地,然后通过pycharm打开项目,项目中的import其他目录下的文件,会显示红色波浪线,并报错提示:Thisinspectiondetectsnamesthatshouldresolvebutdon’t.Duetodynamicdispatchandducktyping,thisispossibleinalimitedbutuseful......
  • python基础之字符串处理
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • Python的self作用,以及__init__,__new__
    本章来探讨一下Python类的self作用,以及__init__,__new__。为什么是探讨,不是学习,因为菜......
  • Python-练脑系列-03数据结构
    练脑不断,快乐不止;本次是第三期练脑。1、给定一个列表,其中每个元素都是一个由数字和运算符组成的字符串,例如['2+3','4*5','6/3'],计算列表中所有元素的值,并返回结果的列表。2、给定一个列表和一个整数k,返回列表中所有长度为k的连续子序列中的最大值。3、给定一个字典,其中键和值......
  • python3---signify-验证PE文件证书
    python3---signify-验证PE文件证书keywords:验证签名signify可以用来查看和验证PE文件证书github地址:https://github.com/ralphje/signify安装模块:pipinstallsignify示例:fromsignify.authenticode.signed_peimportSignedPEFilewithopen("Everything.exe","rb"......
  • python: pymssql stored procedures insert output
    sqlscript:IFEXISTS(SELECT*FROMsysobjectsWHERE[name]='proc_Insert_BookKindOut')DROPPROCEDUREproc_Insert_BookKindOutGOCREATEPROCEDUREproc_Insert_InsuranceMoneyOut(@InsuranceNameNVarChar(1000),@InsuranceCostfloat,......
  • Day03 3.3 使用Python还原算法
    Day033.3使用Python还原算法加密分类1、单向加密:MD5、sha系列不可逆2、对称加密:AES、DES3、非对称加密:RSA、DSA4、补充算法:base64【一】md5importhashlibm=hashlib.md5()m.update('helloworld'.encode("utf8"))print(m.hexdigest())【二......
  • python: encode and decode
    importbinasciigeovin=b"geovindu"adu=base64.b64encode(geovin)#加密码print(adu)edu=base64.b64decode(adu)#解密print(edu)s=["医疗",400,1]column=('InsuranceName','InsuranceCost'......
  • PySide6(Qt for Python) QTableWidget表头边框线问题
    这个问题是在Windows10平台下特有问题。网络上有很多QtC++的解决方案。但是没有特定的PySide6的解决方案(以下是参考的QtC++的解决方案)。链接:https://blog.csdn.net/qq_22642239/article/details/122863344问题描述C++的解决方案是设置纵横表头的样式表:horizontalHeader,v......
  • Python中eval 与 exec 函数的区别
    eval和exec都是Python内置函数,并且都能把字符串当作代码执行,那区别是什么呢?eval函数只能计算单个表达式的值,而exec函数可以动态运行代码段;exec函数能直接执行文件中的Python代码,eval函数不能实现这个功能;eval函数可以有返回值,而exec函数返回值永远为None;举......