Pep8 E501: line too long error

2019-04-06 19:54发布

问题:

I get the error E501: line too long from this code:

header, response = client.request('https://api.twitter.com/1.1/statuses   /user_timeline.json?include_entities=true&screen_name='+username+'&count=1')

but if I write this way or another way:

    header, response = client.request('\
       https://api.twitter.com/1.1/statuses/user_timeline.\
           json?include_entities=true&screen_name='+username+'&count=1')

I get this error:

ValueError: Unsupported URL             https://api.twitter.com/1.1/statuses/user_timeline            .json?include_entities=true&screen_name=username&count=1 ().

or I get this error:

ValueError: No JSON object could be decoded

So please tell me, how can I pass this error?

回答1:

The whitespaces at the beginning of the lines become part of your string if you break it like this.

Try this:

header, response = client.request(
   'https://api.twitter.com/1.1/statuses/user_timeline.'
   'json?include_entities=true&screen_name=' + username + '&count=1')

The strings will automatically be concatenated.



回答2:

You could also go to into the code analysis and ignore that kind or error/warning. I am using eclipse and Pydev.

Windows > Preferences > Pydev > Editor > Code Analysis > pycodestyle.py (pep8)

then add to arguments : --ignore=E501 

Restart Eclipse and it should be fine for this warning.



回答3:

You could build the string on multiple lines:

st='https://api.twitter.com/1.1/statuses/user_timeline.json?'
st=st+'include_entities=true&screen_name='+username+'&count=1'

header, response = client.request(st)