riglous Mesaj tarihi: Temmuz 14, 2009 Paylaş Mesaj tarihi: Temmuz 14, 2009 Diyelimki elimizde bir dosya var. Dosyanin adi "müslüm" ancak bu bizim sistemimizde (Ubuntu) "m?sl?m" olarak gozukuyor. Ben bunu 'ü'leri nasil replace ederim? Ilk asamada variable bazinda olsa da olur, daha sonrasini ben ayarlarim ayarlamasina. #! /usr/bin/env python #-*- coding: windows-1254 -*- from string import find, replace import locale import os locale.setlocale(locale.LC_ALL,"") def s_print(str): return unicode(str, 'windows-1254') for x in os.listdir('/home/bgulcu/Desktop/tmp'): print s_print(x.replace('ü','u')) seklinde bir girisimim de oldu ancak basarili olamadim. Sorun su ki, benim elle girdigim 'ü' aslinda dosyanin isminde olan 'ü' degil. Peki ben dosyanin isminde olan harfi nasil tanimlayacagim? c'de bu is nasil yapiliyor? Zaman ayirdiginiz icin tesekkurler. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Anason Mesaj tarihi: Temmuz 15, 2009 Paylaş Mesaj tarihi: Temmuz 15, 2009 dosya isimleri icin locale'ine o karakteri barindiran 'codepage' eklemen lazim. orn; sinan@sosaria:~/Ubicom/distro$ sudo dpkg-reconfigure locales Generating locales... en_AU.UTF-8... up-to-date en_BW.UTF-8... up-to-date en_CA.UTF-8... up-to-date en_DK.UTF-8... up-to-date en_GB.UTF-8... up-to-date en_HK.UTF-8... up-to-date en_IE.UTF-8... up-to-date en_IN.UTF-8... up-to-date en_NG.UTF-8... up-to-date en_NZ.UTF-8... up-to-date en_PH.UTF-8... up-to-date en_SG.UTF-8... up-to-date en_US.UTF-8... up-to-date en_ZA.UTF-8... up-to-date en_ZW.UTF-8... up-to-date tr_CY.UTF-8... done tr_TR.UTF-8... done Generation complete. C de widechar, unicode kullanabilirsin. Python scriptindede regular expression kullanmani tavsiye ederim duzeltmen icin, '?' isareti olmus haliyle character decode/encode edemezsin zaten. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Temmuz 15, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 15, 2009 Ilgilendigin icin tesekkur ederim ancak pek bir ise yaramadi. Yani locale falan onlari zaten denemistim. Yalniz sorunu cozdum. Soyle ki daha basit bir yontem kullandim... for x in os.listdir('/home/bgulcu/Desktop/tmp'): rename=0 y='' for m in x: if ord(m)==252: rename=1 y+='u' else: y+=m if rename==1: print s_print(x) print y os.system('mv "'+x+'" "'+y+'"') Basima bela olan sadece 'ü' oldugu icin 252 isimi gordu. Zaten sorun aletin 128'de calismasiydi.. Her neyse, ileride birilerinin ihtiyaci olursa, ord() kullansinlar. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
SenariouS Mesaj tarihi: Temmuz 16, 2009 Paylaş Mesaj tarihi: Temmuz 16, 2009 ubuntu ekrana basarken sorun çıkarmaması lazım en azından bende çıkarmıyordu. Terminalin fontunu değiştirmeyi dene diyeceğim ama pek bir işe yarayacağını sanmıyorum Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
riglous Mesaj tarihi: Temmuz 16, 2009 Konuyu açan Paylaş Mesaj tarihi: Temmuz 16, 2009 Simdi ben dogrudan Turkce karakter yazarak rename edersem zaten sorun yasamiyorum. Sorun halihazirda windowsta Turkce isim almis dosyalarda. Isin komik tarafi ssh'la nasil alabildim ben ona hayret ediyorum... Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar