[Tutor] How to break long lines?

Prasad, Ramit ramit.prasad at jpmorgan.com
Fri Feb 22 22:54:47 CET 2013


Jim Byrnes wrote:
> I am cleaning up my code and have a number of sqlite3 execute statements
> that extend far past 80 characters.
> 
>  From my reading implicit line joining with (), [] or {} seems to be the
> preferred method, but
> 
> cur.execute('SELECT Account FROM pwds WHERE Category=? ORDER BY Account
> 	COLLATE NOCASE', cat)
> 
> gives this error:
> 
> jfb at jims1204:~/MyProgs/passwords$ python passwords.py
>    File "passwords.py", line 50
>      cur.execute('SELECT Account FROM pwds WHERE Category=? ORDER BY Account
>                                                                            ^
> SyntaxError: EOL while scanning string literal
> 
> Using a \ seems to be out of favor but it works in this case.
> 
> cur.execute('SELECT Account FROM pwds WHERE Category=? ORDER BY Account\
> 	COLLATE NOCASE', cat)
> # no error.
> 
> What am I not understanding about implicit line joining?

The problem is the line break. Single delimited (quote or double quote) strings
can only stay on one line (unless using the \ hack). You can easily solve this 
problem in your case by using triple delimited strings. 

cur.execute('''SELECT Account FROM pwds WHERE Category=? ORDER BY Account
 	COLLATE NOCASE''', cat)


~Ramit


This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.  


More information about the Tutor mailing list