用于复制m3u/m3u8/pls播放列表引用的文件的python脚本

copypl的Python项目详细描述


简介

copypl是一个python 3脚本,用于复制播放列表引用的文件 (m3u、m3u8或pls)到目标文件夹,同时保留文件夹结构 原来的位置。默认情况下,播放列表文件也会被复制;如果 播放列表中的位置与播放列表相关,这意味着 播放列表文件将正确引用复制的文件。

由于此工具用于复制音频播放列表,因此默认情况下,它还将 复制jpeg和png文件(可能是封面图片)包含在同一文件中 包含播放列表引用的文件的文件夹。参数允许 修改要复制的其他文件扩展名。不考虑原作 意图,此工具还应能很好地处理包含视频或其他内容的播放列表 文件类型。但是,为了安全和简单起见,它只适用于本地 包含在包含播放列表文件的文件夹或子文件夹中的文件。

在相对于播放列表的目标文件夹中创建文件夹继承关系 文件夹。

用法

默认情况下,copypl将复制播放列表引用的文件,任何jpeg 和引用文件夹中的PNG文件,以及播放列表文件本身 目标文件夹:

copypl /share/Music/Favorites.m3u8 /mnt/sdcard

或在Windows上:

copypl C:\Music\Favorites.m3u8 D:\

在目标位置创建的文件夹模拟相对于源的文件夹 播放列表文件。例如,假设上面第一个示例中的播放列表 包含以下条目:

Popular/Releases/Heap, Imogen/Ellipse/113 - Half Life.ogg
/share/Music/Popular/Releases/Rush/2112/01 - 2112.ogg

还假设椭圆文件夹和2112文件夹包含一个cover.jpg文件。 目的地希望如此:

/mnt/sdcard/Favorites.m3u8
/mnt/sdcard/Popular/Releases/Heap, Imogen/Ellipse/113 - Half Life.ogg
/mnt/sdcard/Popular/Releases/Heap, Imogen/Ellipse/cover.jpg
/mnt/sdcard/Popular/Releases/Rush/2112/01 - 2112.ogg
/mnt/sdcard/Popular/Releases/Rush/2112/cover.jpg

播放列表文件可以使用^{tt4}从副本中排除$ 争论。相关文件的副本可以由^{tt5}控制$ 参数,但请注意,传递的任何参数都将清除默认值。最后, 默认情况下,为了提高效率,copypl将检查 源和目标文件,并且只覆盖旧的目标文件。 此外,如果现有的目标文件是,它将输出警告。 比源文件新。使用--ignore-mtime始终覆盖。 请注意,这可能会导致文件被多次复制,例如,如果 播放列表引用一个文件夹中的多个文件,然后 文件夹将被重复复制。

安装

警告

一些linux发行版不鼓励安装系统级python 由于与 系统包管理器。在这些情况下,应该安装依赖项 如果可能,通过包管理器,或选择用户文件夹 安装方法。

使用pip

安装

如果您的系统已安装pip,并且您有权在 系统包,然后kantagkan作为管理员从 PyPI

# pip install copypl

如果您没有安装系统软件包的权限,或不希望安装 在系统位置,它可以安装在用户文件夹中:

$ pip install --user copypl

从源安装

或者从 Downloads页,以及 打开包装:

$ tar zxvf copypl-1.0.0.tar.gz

或者从Mercurial存储库获取最新的源代码:

$ hg clone https://bitbucket.org/dgasaway/copypl

如果您有权在系统包中安装软件,则可以 以管理员身份安装:

# python setup.py install

如果您没有安装系统软件包的权限,或不希望安装 在系统位置,它可以安装在用户文件夹中:

$ python setup.py install --user

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring AOP:在方法之间交换信息   数组Java将字符串转换为字符[]   堆内存java。lang.OutOfMemoryError:PermGen space+java   安卓 Java。lang.ClassCastException:无法将活动强制转换到接口   java尝试使用气泡排序将随机整数数组从最大到最小排序   线程“main”java中的indexoutofboundsexception异常。lang.ArrayIndexOutofBounds异常:发电机处为3。main(Generator.java:35)   java“宽大”有什么用?   java SimpleCaptcha NoSuchMethodError   java在哪里部署Web服务的jar依赖项?   Java8获取列表中连续数字的函数方法   java为什么JWT令牌不安全?   java Uber API:在请求或发出令牌时指定多个作用域会返回无效的请求参数   java如何使用映射器从包含多个引用单元的JSON字符串中获取对象列表?   java警告匿名子类(?)没有串行版本   Jackson 2.9.0中的java JsonGenerationException。pr1   java试图打印多个catch语句   java如何创建一个sql表并获得每个唯一字段的平均价格?   java为什么SetMinimumSize设置最小高度而不是宽度?   java与使用POI合并的混淆   java在Xpath中使用“AND”和“normalizespace”时在不同浏览器中遇到不同的错误