मैं यूनिकोड फ़ाइल नाम के साथ subprocess.call() को चलाने के लिए कोशिश कर रहा हूँ, और यहाँ के लिए फ़ाइल नाम सरल है समस्या:यूनिकोड अजगर subprocess.call()
n = u'c:\\windows\\notepad.exe '
f = u'c:\\temp\\nèw.txt'
subprocess.call(n + f)
जो प्रसिद्ध त्रुटि को जन्म देती है:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8'
utf-8 के लिए एन्कोडिंग गलत फ़ाइल नाम पैदा करता है, और MBCS लहजे
बिना new.txt के रूप में फ़ाइल नाम से गुजरता है मैं तो बस किसी भी अधिक इस भ्रामक विषय और सर्कल में स्पिन पर नहीं पढ़ सकता। तो मैं में शामिल होने और अपने आप को
धन्यवाद
आपके ऑपरेटिंग सिस्टम के आधार पर, यदि आप अपने एन्कोडिंग के रूप में लैटिन -1 या सीपी 1252 का उपयोग करते हैं तो क्या होता है? –
क्या आपने स्रोत फ़ाइल का एन्कोडिंग निर्दिष्ट किया है? –
स्रोत फ़ाइल utf एन्कोडेड है: # - * - कोडिंग: utf-8 - * - मैं समय-समय पर लैटिन -1 के साथ चाल का उपयोग करता हूं लेकिन इस मामले में नहीं: 1. मुझे अन्य पात्रों की भी आवश्यकता है लैटिन -1 में नहीं हैं 2. दुर्भाग्यवश यह सबप्रोसेस के साथ काम नहीं करता है - एक ही त्रुटि उठाई जाती है, मैंने एक ही लैटिन -1 एन्कोडिंग दोनों स्ट्रिंग्स को एन्कोड किया है सभी उत्तरों के लिए धन्यवाद – otrov