Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Vladimir Bormotov                    2:5020/400     27 Dec 2002  14:29:56
 To : Kirill Frolov
 Subject : Re: ftp codepage
 -------------------------------------------------------------------------------- 
 
 
    Hi, Kirill!
 
 >>>>> "KF" == Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> writes:
 
  NL>>> Как сказать фтп-клиенту (lftp например)
  NL>>> в какой кодировке имена файлов на фтп-сервере (IIS например) ?
  NL>>> Заранее thanks
  VW>> Запустить его в соответствующей локали
 
  KF> Так он перекодировать-же не будет. 
  
  конечно не будет, а зачем? ;-)
   
  KF> И ext2fs записывает имена в какой-попало кодировке (а попадает обычно
  KF> КОИ8). Интересно, а в utf-8 перевести можно?
 
  можно.
 
  переведенные имена проще всего смотреть через ls | iconv  
  
 ====
 #!/usr/bin/python2
 """recode filenames from one encoding to another"""
 
 import os
 import sys
 import getopt
 
 ENC_FROM = 'koi8-r'
 ENC_TO = 'cp1251'
 def usage():
     print '''\
 
 USAGE>> names_recode [-f <from_encoding>] [-t <to_encoding] <path>
 
  from_encoding   - source filenames encoding
  to_encoding     - target filenames encoding
  path            - path to process filenames (not recursive)
 
  defaults: from_encoding = %s, to_encoding = %s
 ''' % (ENC_FROM, ENC_TO)
     sys.exit(1)
 
 def frename(fname, enc_from, enc_to):
     _new_name = unicode(fname, enc_from).encode(enc_to)
     os.rename(fname, _new_name)
     return _new_name
 
 def main(args):
     try:
         (_opts, _arg) = getopt.getopt(args, 'f:t:')
     except GetoptError:
         print 'Options error'
         usage()
     if len(_arg) != 1:
         print 'You must provide a path'
         usage()
     else:
         _dir = _arg[0]
 
     for _opt, _value in _opts:
         if _opt == '-f': ENC_FROM = _value
         if _opt == '-t': ENC_TO = _value
 
     print 'Process rename filenames in directroy "%s" from %s to %s' % \
           (_dir, ENC_FROM, ENC_TO)
 
     _cur_dir = os.getcwd()
     os.chdir(_dir)
     for _filename in os.listdir('.'):
         frename(_filename, ENC_FROM, ENC_TO)
     os.chdir(_cur_dir)
     return 0
 
 if __name__ == '__main__':
     main(sys.argv[1:])
 ====
  
 -- 
    Bor.
 --- ifmail v.2.15dev5
  * Origin: BorHomeLand (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 ftp codepage   Nikolay Lushnikov   26 Dec 2002 21:45:24 
 Re: ftp codepage   Victor Wagner   26 Dec 2002 23:37:01 
 ftp codepage   Kirill Frolov   27 Dec 2002 07:07:58 
 Re: ftp codepage   Vladimir Bormotov   27 Dec 2002 14:29:56 
 Re: ftp codepage   Nikolay Lushnikov   27 Dec 2002 16:25:07 
 Re: ftp codepage   Victor Wagner   27 Dec 2002 18:25:35 
Архивное /ru.linux/2541740ff859.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional