用于在文件夹中创建m3u文件的Python脚本
我正在尝试运行这个特定的python脚本来在子文件夹中创建.m3u文件,但它不起作用,请给我一个错误,欢迎提供任何帮助。 m3u文件是具有指定扩展名的子文件夹内容的简单跟踪列表,并以子文件夹命名,如下所示(扩展名.aaa和.bbb仅为示例):用于在文件夹中创建m3u文件的Python脚本,python,batch-file,m3u,Python,Batch File,M3u,我正在尝试运行这个特定的python脚本来在子文件夹中创建.m3u文件,但它不起作用,请给我一个错误,欢迎提供任何帮助。 m3u文件是具有指定扩展名的子文件夹内容的简单跟踪列表,并以子文件夹命名,如下所示(扩展名.aaa和.bbb仅为示例): 文件夹1(包含“文件1.aaa”、“文件2.aaa”等) 文件夹1.m3u使用此列表在文件夹1内生成 文件1.aaa 文件2.aaa 文件夹2(包含“文件1.bbb”、“文件2.bbb”等) 文件夹2.m3u使用此列表在文件夹2内生成 文件1.bb
- 文件夹1(包含“文件1.aaa”、“文件2.aaa”等)
- 文件夹2(包含“文件1.bbb”、“文件2.bbb”等)
Traceback (most recent call last):
File "makem3u.py", line 16, in <module>
contents = os.listdir(os.path.join(cwd, d))
NotADirectoryError: [WinError 267] The directory name is invalid: 'path\\to\\file\\makem3u.py'
回溯(最近一次呼叫最后一次):
文件“makem3u.py”,第16行,在
contents=os.listdir(os.path.join(cwd,d))
NotDirectoryError:[WinError 267]目录名无效:“path\\to\\file\\makem3u.py”
makem3u.py位于一个包含所述子文件夹的文件夹中
Windows 10,Python 3.8.5,Python安装正确,路径在环境变量中,我可以很好地运行其他脚本
我做错了什么,我该如何解决?有没有像创建.bat文件这样的非python替代方法?很抱歉问了这么多问题,我对这些事一无所知。提前谢谢你
此外,是否有方法批量压缩子文件夹中的所有文件(生成的m3u+原始文件)并在该子文件夹后命名每个压缩?这是一个额外的变量,但如果可能的话会很有帮助。您的
dirs
变量也包含文件名,因此您试图在path\\to\\file\\makem3u.py
下列出文件(显然这不是一个目录)。改为使用os.walk
:或使用os.path.isdir()
检查d
是否为目录。感谢您的回复。我明白了,所以如果输入是一个目录,那么脚本将工作,但如果输入是一个文件,则不会工作。问题是我对如何做到这一点几乎一无所知。我试图替换命令,但我得到其他错误。。。我读过这篇文章,但我不太明白,现在就在你的for
行后面添加一个if os.path.isdir(d):
。谢谢,这很有效。我遇到了另一个错误TypeError:需要一个类似字节的对象,而不是'str'
,但是在我为'w'
替换了'wb'
之后,它现在正在生成m3u文件。现在我试图弄明白为什么它在m3u中只写“文件夹名\文件名”,而不写“文件名”。此外,m3u文件都显示在父文件夹中,而不是以其命名的每个子文件夹中,但这是我可以了解的一件小事。
Traceback (most recent call last):
File "makem3u.py", line 16, in <module>
contents = os.listdir(os.path.join(cwd, d))
NotADirectoryError: [WinError 267] The directory name is invalid: 'path\\to\\file\\makem3u.py'