科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件 Python处理MLDonkey 下载中文文件乱码问题

Python处理MLDonkey 下载中文文件乱码问题

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Python处理MLDonkey 下载中文文件乱码问题

作者: kongxx 来源:CSDN 2008年5月29日

关键字: 乱码 处理 python 软件

  • 评论
  • 分享微博
  • 分享邮件
 

python文件内容如下:

# -*- coding: cp936 -*-

import os ,string ,urllib ,operator

 

# 文件替换目录路径

sdir='/usr/local/mldonkey/incoming/'

 

# 数字标记

sNum='0123456789'

 

# 遍历目录做文件名转换

def convert():

       filenames=os.listdir(sdir)

       for filename in filenames :

              if filename != convertName(filename) :

                     print filename + ' >>> ' + convertName(filename)

                     os.rename(sdir + filename ,sdir + convertName(filename))

 

# 转换一个文件名   

def convertName(s) :

    location = 0

    ret = ""

    while True :

        if location + 8 <= len(s) :

            subStr = s[location:location + 8]

            if check(subStr) :

                ret += "%" + hex((int)(subStr[1:4]))[2:4] + "%" + hex((int)(subStr[5:8]))[2:4]

                location = location + 8

            else :

                ret += s[location :location + 1]

                location = location + 1

        else :

            ret += s[location:]

            break

    return urllib.unquote(ret)

 

# 检查一个字符串是否需要做转换   

def check(s):

    if len(s) != 8 :

        return False

 

    if s[0] != '_' or s[4] != '_' :

        return False

 

    if (s[1] in sNum) and (s[2] in sNum) and (s[3] in sNum) and (s[5] in sNum) and (s[6] in sNum) and (s[7] in sNum) :

        return True

    return False

   

# 执行文件名转换

convert()

要运行此脚步,需要Python2.4,在命令行输入:
python mldonkey.py
运行即可。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章