[New-bugs-announce] [issue5325] "SyntaxError: None" when the name of the dir contains non-ascii chars

Ezio Melotti report at bugs.python.org
Fri Feb 20 06:17:14 CET 2009


New submission from Ezio Melotti <ezio.melotti at gmail.com>:

Step to reproduce:
1) create a directory with non-ascii chars in the name
2) create a python module with a syntax error (I used an unclosed '(')
3) execute the module.py directly ('module.py', not 'python module.py')

I tested this only on Windows, with Python3 as the default interpreter
used to execute *.py files, this is the output:

# ascii dir, works fine
D:\>module1.py
  File "D:\module1.py", line 21
                       ^
SyntaxError: invalid syntax
# moving to non-ascii dir
D:\>cd äåæ
# non ascii-dir, fails
D:\äåæ>module1.py
SyntaxError: None
# here is using py2.6, but with 'python module1.py' it doesn't print the
dir name
D:\äåæ>python module1.py
  File "module1.py", line 21
                       ^
SyntaxError: invalid syntax
# same as before but with py3
D:\äåæ>python3 module1.py
  File "module1.py", line 21
                       ^
SyntaxError: invalid syntax

# with print(sys.version) in module1.py
D:\äåæ>module1.py
3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)]
D:\äåæ>python module1.py
2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)]
D:\äåæ>python3 module1.py
3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)]

This seems to happen only with SyntaxErrors, I tested a couple of other
errors and it seems to work:

# with print(sys.version) and 5/0 in module1
# here it prints the dir name without problems (but it doesn't show '5/0')
D:\äåæ>module1.py
3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)]
Traceback (most recent call last):
  File "D:\äåæ\module1.py", line 3, in <module>
ZeroDivisionError: int division or modulo by zero

D:\äåæ>python module1.py
2.6 (r26:66721, Oct  2 2008, 11:35:03) [MSC v.1500 32 bit (Intel)]
Traceback (most recent call last):
  File "module1.py", line 3, in <module>
    5/0
ZeroDivisionError: integer division or modulo by zero

D:\äåæ>python3 module1.py
3.0 (r30:67507, Dec  3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)]
Traceback (most recent call last):
  File "module1.py", line 3, in <module>
    5/0
ZeroDivisionError: int division or modulo by zero

----------
components: Unicode
messages: 82513
nosy: ezio.melotti
severity: normal
status: open
title: "SyntaxError: None" when the name of the dir contains non-ascii chars
type: behavior
versions: Python 3.0

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue5325>
_______________________________________


More information about the New-bugs-announce mailing list