5

मैं एक साधारण सहायक उपयोगिता बनाने की कोशिश कर रहा हूं जो मेरी परियोजनाओं को देखेगा और खुले लोगों को कमांड लाइन के माध्यम से मेरे पास वापस लाएगा। लेकिन os.listdir पर मेरी कॉल वापस गिब्बरिश (उदाहरण: '\x82\xa9\x82\xcc\x96I') जब भी फ़ोल्डर या फ़ाइल नाम जापानी में होता है, और कहा जाता है कि फ़ोल्डर में प्रवेश करने के लिए फिर से कॉल करने के लिए गिब्बरिश को पास नहीं किया जा सकता है।मैं पाइथन में जापानी में नामित निर्देशिकाओं को कैसे पार कर सकता हूं?

'WindowsError: [Error 3] 指定されたパスが見つかりません。' 

किसी को भी पता है कि कैसे मैं इस के आसपास मिल सकती है: अर्थात os.listdir('C:\Documents and Settings\\x82\xa9\x82\xcc\x96I') एक त्रुटि देता है? बहुत बहुत धन्यवाद।

+1

指定 さ れ た パ ス が 見 つ か り ま せ ん का अर्थ है "। पथ निर्दिष्ट नहीं खोजा जा सका" – Mikaveli

+0

धन्यवाद! असल में, जापानी पढ़ना मेरे लिए कोई समस्या नहीं है, लेकिन मैं मदद की सराहना करता हूं! – StormShadow

उत्तर

6

आपको स्ट्रिंग को यूनिकोड में डीकोड करने की आवश्यकता हो सकती है, फिर इसे os.listdir पर जाने से पहले इसे यूटीएफ -8 में फिर से एन्कोड करना होगा। ऐसा लगता है कि अपने जापानी स्ट्रिंग की तरह Shift-JIS में एन्कोड किया गया है:

>>> '\x82\xa9\x82\xcc\x96I'.decode('shift-jis').encode('utf-8') 
'\xe3\x81\x8b\xe3\x81\xae\xe8\x9c\x82' 
>>> print '\x82\xa9\x82\xcc\x96I'.decode('shift-jis') 
かの蜂 

वैकल्पिक रूप से, पहली जगह में इसे से बाहर यूनिकोड तार पाने के लिए os.listdir के निम्नलिखित सुविधा का इस्तेमाल करते हैं:

On Windows NT/2k/XP and Unix, if path is a Unicode object, the result will be a list of Unicode objects. Undecodable filenames will still be returned as string objects.

तो :

os.listdir(ur'C:\Documents and Settings') 
# ---------^ 
+0

आप अद्भुत हैं। धन्यवाद। – StormShadow

2

आप यूनिकोड-शाब्दिक (u'your/path') के रूप में निर्देशिका नाम में पारित करने के लिए प्रयास करना चाहिए। इस तरह, नतीजा यूनिकोड भी है (जिसे शायद जापानी पात्रों के साथ काम करने की आवश्यकता है)।

documentation से

:।

On Windows NT/2k/XP and Unix, if path is a Unicode object, the result will be a list of Unicode objects. Undecodable filenames will still be returned as string objects.

संबंधित मुद्दे

 संबंधित मुद्दे