在Python2.7中将UTF-8转换为中文字符

时间:2018-04-12 09:03:26

标签: python ubuntu utf-8 chinese-locale pydub

我有一个名为005大禹治水.lrc的中文文件,我想打印出文件名及其目录,如:/ home / user / lrc / 005大禹治水.lrc

以下是我在Python 2.7中尝试的内容:

# -*- coding: utf-8 -*-
from __future__ import print_function
import argparse
import os
from pydub import AudioSegment


def main():
    wd= os.path.split(os.path.realpath(__file__))[0]

    parser = argparse.ArgumentParser()
    parser.add_argument('--lrc', default=os.path.expanduser(wd + '/lrc'))
    args = parser.parse_args()

    '''
    saving lrc files path and name into list
    '''
    lrc_files_path = []

    for file in os.listdir(args.lrc):
        if file.endswith(".lrc"):
            lrc_files_path.append(os.path.join(args.lrc, file))
    print(lrc_files_path)
    print("*" * 38)

if __name__ == "__main__":
    main()

输出是:

['/home/user/lrc/005\xe5\xa4\xa7\xe7\xa6\xb9\xe6\xb2\xbb\xe6\xb0\xb4.lrc']

这不像我预期的那样由Python 3.0 +运行:

['/home/user/lrc/005大禹治水.lrc']

实际上,这个问题不会受到Python 3.0+的干扰。 但是,我正在处理的任务需要使用pydub(不支持Python 3.0+),以便根据lrc文件的时间线编辑mp3文件。 :(

我做了一些关于中文UTF-8转换的研究,并尝试了一些潜在的解决方案,但最后没有提出任何问题。 :(

任何建议都非常感谢!

0 个答案:

没有答案