Issue 1001604: glob doesn't return unicode with no dir in unicode filename (original) (raw)

Logged In: YES user_id=12579

I wrote a slightly different patch that converts the os.curdir to Unicode inside glob but the patch here is just as good. The nnorwitz patch works well for me on Windows with Unicode file names:

glob.glob("*") ['a.bat', 'abc', 'ascii', 'b.bat', 'fileobject.c', 'fileobject.c.diff', 'Gr\xfc\xdf-Gott', 'pep-0277.txt', 'posixmodule.c', 'posixmodule.c.diff', 'uni.py', 'winunichanges.zip', 'Ge??-sa?', '????????????', '??????', '???', '????G\xdf', '???']

glob.glob(u"*") [u'a.bat', u'abc', u'ascii', u'b.bat', u'fileobject.c', u'fileobject.c.diff', u'Gr\xfc\xdf-Gott', u'pep-0277.txt', u'posixmodule.c', u'posixmodule.c.diff', u'uni.py', u'winunichanges.zip', u'\u0393\u03b5\u03b9\u03ac-\u03c3\u03b1\u03c2', u'\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435', u'\u05d4\u05e9\u05e7\u05e6\u05e5\u05e1', u'\u306b\u307d\u3093', u'\u66e8\u05e9\u3093\u0434\u0393\xdf', u'\u66e8\u66e9\u66eb']

Here is my patch if you are interested:

--- glob.py Wed Jun 06 06:24:38 2001 +++ g:\Python23\Lib\glob.py Sun Aug 01 23:50:43 2004 @@ -19,7 +19,10 @@ return [] dirname, basename = os.path.split(pathname) if not dirname:

def glob1(dirname, pattern):

2.5.1 (r251:54863, Jul 10 2008, 17:24:48)

Fails for me with 2.5.1 on Linux, OS X, and Windows.

glob.glob("") ['t.txt', 't\xd0\xb4.txt', 't\xe2\xbd\x94.txt'] glob.glob(u"") ['t.txt', 't\xd0\xb4.txt', 't\xe2\xbd\x94.txt'] glob.glob(u"./*") [u'./t.txt', u'./t\u0434.txt', u'./t\u2f54.txt']