Question About Running Python code

Dan Stromberg drsalists at gmail.com
Thu Oct 16 01:09:21 CEST 2014


On Wed, Oct 15, 2014 at 3:50 PM, ryguy7272 <ryanshuell at gmail.com> wrote:
> I'm trying to run this script (using IDLE 3.4)

> I would be most appreciative if someone could respond to a few questions.
>
> The error that I get is this.
> 'invalid syntax'

You may get better help if you give the context of this message.

> The second single quote in this line is highlighted pink.
> print 'Downloading data from Yahoo for %s sector' % sector
>
> #1)  That's very bizarre to mix single quotes and double quotes in a single language.  Does Python actually mix single quotes and double quotes?

I'm not sure what you mean by "mix".  C uses single quotes and double
quotes, right?

Python treats single quotes and double quotes pretty much
interchangeably, except if you start a string with a single quote (for
example), you can easily put a double quote inside it, and you must
terminate the string with another single quote.  And vice versa.

> #2)  In the Python 3.4 Shell window, I turn the debugger on by clicking 'Debugger'.  Then I run the file I just created; it's called 'stock.py'.  I get the error immediately, and I can't debug anything so I can't tell what's going on.  This is very frustrating.  All the controls in the debugger are greyed out.  What's up with the debugger?

You have Python 2.x code there.  The differences between 2.x and 3.x
are far from insurmountable, but it does require a little code
adjustment.  If you're a python novice, you might be better off
running this under 2.x.

I believe your debugger won't help until your code compiles.

> #3)  My final question is this?  How do I get this code running?  It seems like there is a problem with a single quote, which is just silly.  I can't get the debugger working, so I can't tell what's going on.  The only thins I know, or I think I know, is that the proper libraries seem to be installed, so that's one thing that's working.

The print statement in 2.x has been made a print function in 3.x;
that's likely necessary to fix, though not necessarily sufficient.

EG in 2.x:
print 'hello word', 6

while in 3.x that would be:
print('hello world', 6)

Interestingly, you can write a single command that works in both with:
print('hello world {}'.format(6))

To 2.x, it's printing the result of a parenthesized expression.  To
3.x, it's a function call with one argument.


> I'd really appreciate it if someone could please answer my questions and help me get this straightened out, so I can have some fun with Python.  So far, I've spent 2 months reading 4 books, and trying all kinds of sample code...and almost every single thing fails and I have no idea why.

You may also need to install pytz, pandas and BeautifulSoup.  I favor
pip or pip3 for such things.



More information about the Python-list mailing list