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:
- return glob1(os.curdir, basename)
+ # Use the current directory but match the argument
+ # string form, either unicode or string.
+ dirname = type(dirname)(os.curdir)
+ return glob1(dirname, basename)
elif has_magic(dirname):
list = glob(dirname)
else:
@@ -40,7 +43,7 @@
return result
def glob1(dirname, pattern):
- if not dirname: dirname = os.curdir
+ assert dirname
try:
names = os.listdir(dirname)
except os.error:
|