Pylint showing invalid variable name in output

RanRag picture RanRag · May 30, 2012 · Viewed 92.5k times · Source

I made a simple python script to post data on a website.

#Imports

url_to_short = sys.argv[1]

post_url = 'https://www.googleapis.com/urlshortener/v1/url'
headers = {'Content-Type': 'application/json'}

data = {'longUrl': url_to_short}
post_data = json.dumps(data)

req = urllib2.Request(post_url, post_data, headers)
resp = urllib2.urlopen(req)

if resp.getcode() == 200:  
    content = json.loads(resp.read())

#Other stuff

Now I thought lets check my script for coding standards with pylint tool.

My pylint output is as follows:

************* Module post
C:  1,0: Missing docstring
C:  6,0: Invalid name "url_to_short" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)
C:  8,0: Invalid name "post_url" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)
C:  9,0: Invalid name "headers" (should match (([A-Z_][A-Z0-9_]*)|(__.*__))$)

# Other stuff

Now, my question is why pylint is showing my variable names as Invalid name. Is naming variable this way a wrong coding convention.

My complete pylint output.

Answer

Christian Witts picture Christian Witts · May 30, 2012

As your code is not contained in a class or function it is expecting those variables to be constants and as such they should be uppercase.

You can read PEP8 for further information.