Odd error

J

Joshua.R.English

I'm trying to use a script that I originally wrote on a Mac Classic
machine and have moved to a Windows XP machine.

I can open the script and edit the thing, but when I try to run it in
I get:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__
return self.func(*args)
File "C:\Python25\lib\idlelib\MultiCall.py", line 151, in handler
r = l(event)
File "C:\Python25\lib\idlelib\ScriptBinding.py", line 151, in
run_module_event
dirname = os.path.dirname(filename)
File "C:\Python25\lib\ntpath.py", line 207, in dirname
return split(p)[0]
File "C:\Python25\lib\ntpath.py", line 172, in split
while head2 and head2[-1] in '/\\':
TypeError: 'int' object is not iterable

I've converted the text to windows format, and the other scripts that
I transferred at the same time work.

What's going on here?
 
J

John Machin

I'm trying to use a script that I originally wrote on a Mac Classic
machine and have moved to a Windows XP machine.

I can open the script and edit the thing, but when I try to run it in
I get:
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1403, in __call__
return self.func(*args)
File "C:\Python25\lib\idlelib\MultiCall.py", line 151, in handler
r = l(event)
File "C:\Python25\lib\idlelib\ScriptBinding.py", line 151, in
run_module_event
dirname = os.path.dirname(filename)
File "C:\Python25\lib\ntpath.py", line 207, in dirname
return split(p)[0]
File "C:\Python25\lib\ntpath.py", line 172, in split
while head2 and head2[-1] in '/\\':
TypeError: 'int' object is not iterable

I've converted the text to windows format, and the other scripts that
I transferred at the same time work.

What's going on here?


The following demonstrate the correct behaviour of ntpath.split():

Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.('\\\\', 'bar')

I can't see how this error could arise from the line:
while head2 and head2[-1] in '/\\':
The only possible iterable is the constant '/\\' ...

You may have a corrupt Python 2.5 installation; try the above tests;
if one fails, delete any ntpath.pyc and/or ntpath.pyo and try again.

I'm suspicious of the 'lib' directory name; standard Python
installations on Windows call the directory 'Lib' AFAIK; how did you
install Python?

HTH,
John
 
J

Joshua.R.English

I installed it using the regular download form python.org. I went
back and did a lot of testing with the file, commenting out most of
it, seeing what would actually run, and it seems I had a normal
semantic error:

self.data(one).append(item)

and data is in fact a dictionary, not a callable object. What gets me
is the massive red herring this error is. I wasn't doing anything
with ntpath in the script. The script selectively extracts
information from an XML file, that's all.

Thanks,

Josh

The following demonstrate the correct behaviour of ntpath.split():

Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit
(Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.>>> import ntpath
('\\\\', 'bar')

I can't see how this error could arise from the line:
while head2 and head2[-1] in '/\\':
The only possible iterable is the constant '/\\' ...

You may have a corrupt Python 2.5 installation; try the above tests;
if one fails, delete any ntpath.pyc and/or ntpath.pyo and try again.

I'm suspicious of the 'lib' directory name; standard Python
installations on Windows call the directory 'Lib' AFAIK; how did you
install Python?

HTH,
John
 
T

Terry Reedy

|I installed it using the regular download form python.org. I went
| back and did a lot of testing with the file, commenting out most of
| it, seeing what would actually run, and it seems I had a normal
| semantic error:
|
| self.data(one).append(item)
|
| and data is in fact a dictionary, not a callable object. What gets me
| is the massive red herring this error is. I wasn't doing anything
| with ntpath in the script. The script selectively extracts
| information from an XML file, that's all.

When you run a script from IDLE, it saves it to disk, and in the process of
saving, IDLE looks at the path. I don't think your script ever ran. At
least that is what I gathered from the traceback. I agree with JM: the
traceback and error message do not match, so this is indeed an 'odd' error.

Terry Jan Reedy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,576
Members
45,054
Latest member
LucyCarper

Latest Threads

Top