473,399 Members | 3,888 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,399 software developers and data experts.

Strange problem when running python code

Hi everybody

I've been writing my very first application in Python and everything is
running smoothly, except for a strange problem that pops up every once
in a while. I'm sure is the kind
of newbie thing every seasoned programmer knows.

Sometimes a receive strange Syntax Errors from parts of code that
worked perfectly minutes ago. What's even more puzzling is that those
errors are pointed to another part of the module when I do some random,
innofensive changes in the code (like inserting a line or deleting some
comments). Sometimes those changes are enough to make the error
dissapear.

Could it be that python has found a real error but is failing to tell
me where it is?

Apr 4 '06 #1
12 1479
For certain errors like Syntax Errors, you'll get a much more helpful
response if you post some actual code. Strip it down if you have to,
but make sure we can reproduce the errors.

--
Brian Beck
Adventurer of the First Order

Apr 4 '06 #2
ishtar2020 wrote:
Hi everybody

I've been writing my very first application in Python and everything is
running smoothly, except for a strange problem that pops up every once
in a while. I'm sure is the kind
of newbie thing every seasoned programmer knows.

Sometimes a receive strange Syntax Errors from parts of code that
worked perfectly minutes ago. What's even more puzzling is that those
errors are pointed to another part of the module when I do some random,
innofensive changes in the code (like inserting a line or deleting some
comments). Sometimes those changes are enough to make the error
dissapear.

Could it be that python has found a real error but is failing to tell
me where it is?


I recently had quite a hassle with an indentation problem, so you might
want to check on your whitespace.

Apr 4 '06 #3
ishtar2020 <is********@hotmail.com> wrote:
I've been writing my very first application in Python and everything is
running smoothly, except for a strange problem that pops up every once
in a while. I'm sure is the kind
of newbie thing every seasoned programmer knows.


Nobody here has a crystal ball. Please post your code, tell us what
changes you made, and cut-and-paste the entire error message and the
associated stack trace.
Apr 4 '06 #4
"ishtar2020" wrote:
Sometimes a receive strange Syntax Errors from parts of code that
worked perfectly minutes ago. What's even more puzzling is that those
errors are pointed to another part of the module when I do some random,
innofensive changes in the code (like inserting a line or deleting some
comments). Sometimes those changes are enough to make the error
dissapear.


Python 2.4.1 has a bug where this can happen if you're 1) using coding
directives, and 2) your module is relatively large.

I suggest upgrading to 2.4.3.

</F>

Apr 4 '06 #5
I must add, when the python interpreter displays the traceback, with
the line that is producing the error, it doesn't look like the one I
got in the code.

This is the line where the interpreter finds the error

if text.list[i].toString() in limits:list)): <- Here is where
the error is found, but this line is not on my file

SyntaxError: invalid syntax

And this is the line I got on the file, looks like the interpreter is
mixing the second sentence with the end of the first one:

for i in range(self.initialPositionl+1,len(text.list)):
if text.list[i].toString() in limits:
self.finalPosition=i
break

It's quite puzzling. And if I change some lousy thing, like inserting a
newline between the sentences, the interpreter will find another error
somewhere else, even when that
part of the code was working flawlessly in previous runs

Apr 4 '06 #6
Roy Smith wrote:
ishtar2020 <is********@hotmail.com> wrote:
I've been writing my very first application in Python and everything is
running smoothly, except for a strange problem that pops up every once
in a while. I'm sure is the kind
of newbie thing every seasoned programmer knows.


Nobody here has a crystal ball. Please post your code, tell us what
changes you made, and cut-and-paste the entire error message and the
associated stack trace.


Speak for yourself, Mr. I-Have-No-Crystal-Ball. Besides, any lummox knows
that crystal balls are for seeing the future, not for mind-reading. No, to
do proper mind reading you need youself a pointy hat and (preferably) a
deck of cards.

Sorry, weird day at work. Had to vent.
--
Steve Juranich
Tucson, AZ
USA

Apr 4 '06 #7
ishtar2020 wrote:
Hi everybody

I've been writing my very first application in Python and everything is
running smoothly, except for a strange problem that pops up every once
in a while. I'm sure is the kind
of newbie thing every seasoned programmer knows.

Sometimes a receive strange Syntax Errors from parts of code that
worked perfectly minutes ago. What's even more puzzling is that those
errors are pointed to another part of the module when I do some random,
innofensive changes in the code (like inserting a line or deleting some
comments). Sometimes those changes are enough to make the error
dissapear.

Could it be that python has found a real error but is failing to tell
me where it is?


I don't mean to accuse you or to start a tab v. non-tab war (is tab v.
non-tab a holy war?, it should be because tabs are so damn useful for
formatting and getting everything just-right), but don't use tabs if you
are using them. Here are the reasons: 1. they personally annoy me. 2.
you can't see the damn things (hence the basis for why they are so
annoying). "Tab" comes from the root for the Greek for "table" (or is it
the other way around?, or is it Latin? or Arabic? or Hebrew?). Thus,
tabs should be reserved for thier god-given intended purpose, which is
tab-delimited tables, where a parser can easily separate by them.
Internal, and hence annoying, tabs should not be used elsewhere because
it screws everything up. For example, here is a tab-delimited parser
written in python
table = []
for line in tab_delimited_table:
table.append(line.split('\t'))
Man that was easy! Now, when people put annoying tabs everywhere, to get
their indent just-so, then it totally screws everything up, including
this parser, which was designed for tables delimited by tabs--because
that is the tab's special purpose.

There is one exception however. Its called the tab-space-tab approach.
If you are using tabs to indent your code, then always put at least one
space between tabs. Never put two tabs together. This helps the editor
to display your code correctly.

James

--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
Apr 4 '06 #8
On 04/04/2006-12:01PM, ishtar2020 wrote:
This is the line where the interpreter finds the error

if text.list[i].toString() in limits:list)): <- Here is where


That line has two extra close parens before the :

Can you show the traceback?

Apr 4 '06 #9
Are U Using any IDE for Python?
If yes then check out the setting and make sure that u are running same
code.

Apr 5 '06 #10
"ishtar2020" wrote:
It's quite puzzling. And if I change some lousy thing, like inserting a
newline between the sentences, the interpreter will find another error
somewhere else, even when that part of the code was working flaw-
lessly in previous runs


what Python version are you using ?

(I've already provided an explanation in another post, but it seems that
neither you nor the "it's your fault" crowd read that...).

</F>

Apr 5 '06 #11
On Tue, 04 Apr 2006 12:01:12 -0700, ishtar2020 wrote:
I must add, when the python interpreter displays the traceback, with
the line that is producing the error, it doesn't look like the one I
got in the code.


I sometimes get that problem when I'm running code, I make a change in the
source file, use reload() to update my module, but forget to reinitialise
my objects still in memory.

So I end up with (buggy) instances in memory, but when I hit a traceback,
the source code displayed has nothing to do with the actual error because
the source file has been edited.

If you are getting these weird errors when you do nothing but change
comments, there is a good chance that's what is happening.

Here is an example of that behaviour. Is this the sort of thing which is
happening to you?
# === File tester.py ===

class Parrot(object):

def speak(self):
print "I'm pining for the fjords."

def species(self, colour=None):
return "Norwegian " + colour
Now import the file:
import tester
p = tester.Parrot()
p.speak() I'm pining for the fjords. p.species() Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "tester.py", line 9, in species
return "Norwegian " + colour
TypeError: cannot concatenate 'str' and 'NoneType' objects
Now I edit the file, just adding comments and nothing else:
# === File tester.py ===

class Parrot(object):

# Add some comments here.
# Line two.

def speak(self):
print "I'm pining for the fjords."

def species(self, colour=None):
return "Norwegian " + colour
But if I execute the old existing object, I get a nonsensical error:
p.species()

Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "tester.py", line 9, in species
print "I'm pining for the fjords."
TypeError: cannot concatenate 'str' and 'NoneType' objects

Even doing a reload() doesn't help. I have to delete the old instance, and
create a new one.

--
Steven.

Apr 5 '06 #12
Dennis Lee Bieber wrote:
As an occassional dabbler in the Tarot, I can assure you that cards
are NOT used for "mind-reading"; they merely offer up a possible future
which must be interpreted in light of the querant's situation... (or,
since I typically read for myself -- the allow my subconscious to reveal
my inclinations based upon the cards' meanings)


Who said anything about tarot? I'm talking about the old "Pick a card, any
card..." bit.

Cheers.
--
Steve Juranich
Tucson, AZ
USA

Apr 5 '06 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: KefX | last post by:
Hi guys! I'm still a bit of a Python newbie, but regardless I decided to embed Python into a plugin for a freeware (closed-source) Windows music program called Jeskola Buzz. (Man, I can't believe...
2
by: simon place | last post by:
while playing about with inheriting from list to be able to cache macro properties i noticed this, the rate of summing a list seems to be over linear? its nearly 3 times faster to sum the sums of...
1
by: Craig Ringer | last post by:
Hi folks I'm a bit of a newbie here, though I've tried to appropriately research this issue before posting. I've found a lot of questions, a few answers that don't really answer quite what I'm...
4
by: Tomasz Lisowski | last post by:
Hi, We are distributing our Python application as the short main script (.py file) and a set of modules compiled to the .pyc files. So far, we have always treated .pyc files as portable between...
6
by: cournape | last post by:
Hi there, I have some scientific application written in python. There is a good deal of list processing, but also some "simple" computation such as basic linear algebra involved. I would like to...
3
by: jdonnell | last post by:
When I run this code on windows it runs quickly (about a second per image) but when I run it on linux it runs very very slowly (10+ seconds per image). Is this a bug or am I missing something? On...
5
by: Ian | last post by:
Hi everyone, I have found some bizarre (to me...!) behaviour of the Form_Activate function. I have a form which has a button control used to close the form and a subform with a datasheet view...
2
by: dwelch91 | last post by:
Hi, c.l.p.'ers- I am having a problem with the import of xml.parsers.expat that has gotten me completely stumped. I have two programs, one a PyQt program and one a command line (text) program...
4
by: kj | last post by:
I'm running into a strange seg fault with the module cjson. The strange part is that it does not occur when I run the code under Emacs' Pydb. Here's an example: import sys, cjson d1 =...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.