gpt4 book ai didi

Python:getsize 无法从 itunes xml 中找到文件位置

转载 作者:太空宇宙 更新时间:2023-11-04 10:44:38 25 4
gpt4 key购买 nike

1) 将 itunes 播放列表导出到 xml 文件

2)用pliSTLib读取xml文件

3) 提取歌曲的位置,例如file://localhost/D:/music/Paul%20Desmond/Bossa%20Antigua/05%20-%20Cura%C3%A7ao%20Doloroso.m4a

4) 使用 urllib.unquote 更正 %20 for ' ' 等并删除文件://localhost/

5) 尝试在生成的文件名上使用 os.path.getsize 并得到一个错误

6) 纯 ascii 文件名没有问题

import os
import urllib

fn = 'D:/music/Paul%20Desmond/Bossa%20Antigua/05%20-%20Cura%C3%A7ao%20Doloroso.m4a'
path = urllib.unquote(fn)
os.path.getsize(path)

Traceback (most recent call last):
File "uni.py", line 9, in <module>
print os.path.getsize(path)
File "C:\program files\python27\lib\genericpath.py", line 49, in getsize
return os.stat(filename).st_size
WindowsError: [Error 2] The system cannot find the file specified: 'D:/music/Pau
l Desmond/Bossa Antigua/05 - Cura\xc3\xa7ao Doloroso.m4a'

getsize 与 D:\music\Paul Desmond\Bossa Antigua\05 - Curaçao Doloroso.m4a 配合良好。

如何将文件名更改为可以与 getsize 一起使用的文件名?如果我可以将 \xc3\xa7 更改为 ç,它会起作用,所以我想我遗漏了一些简单的 unicode 问题。

http://docs.python.org/2/howto/unicode.html#unicode-filenames包括“os 模块中的函数,例如 os.stat() 也将接受 Unicode 文件名。”

我在 win7 下使用 python 2.7.2。 xml文件为utf8

最佳答案

要将 UTF-8 编码的路径名转换为 Unicode 路径名,请执行以下操作:

path = path.decode('utf-8')

例如:

>>> s = "Cura\xc3\xa7ao"
>>> print s.decode('utf-8')
Curaçao

关于Python:getsize 无法从 itunes xml 中找到文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18228162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com