pylint woes
DFS
nospam at dfs.com
Sun May 8 10:25:59 EDT 2016
On 5/8/2016 1:50 AM, Jussi Piitulainen wrote:
> DFS writes:
>
>> The lists I actually use are:
>>
>> for j in range(len(nms)):
>> cSQL = "INSERT INTO ADDRESSES VALUES (?,?,?,?,?)"
>> vals = nms[j],street[j],city[j],state[j],zipcd[j]
>>
>>
>> The enumerated version would be:
>>
>> ziplists = zip(nms,street,city,state,zipcd)
>> for nm,street,city,state,zipcd in ziplists:
>> cSQL = "INSERT INTO ADDRESSES VALUES (?,?,?,?,?)"
>> vals = nm,street,city,state,zipcd
>>
>>
>> I guess the enumeration() is a little nicer to look at. Why do you
>> think it's more maintainable?
>
> The following variations avoid the naming of the result of zip at all,
> and also save a line or two, depending on what you actually do in the
> loop, without introducing overly long lines. Judge for yourself.
I tried:
for nm,street,city,state,zipcd in zip(nms,street,city,state,zipcd):
but felt it was too long and wordy.
> You don't need to name the individual components, if you only actually
> use vals:
>
> for vals in zip(nms,street,city,state,zipcd):
> cSQL = "INSERT INTO ADDRESSES VALUES (?,?,?,?,?)"
I like that one. But I do one more thing (get a category ID) than just
use the vals.
--------------------------------------------------------------------
ziplists = zip(categories,names,streets,cities,states,zipcodes)
for category,name,street,city,state,zipcode in ziplists:
dupeRow, pyodbcErr = False, False
catID = getDataID("catID","CATEGORIES","catDesc",category)
cSQL = "INSERT INTO ADDRESSES VALUES (?,?,?,?,?,?,?,?,?)"
vals =
datasrcID,searchID,catID,name,street,city,state,zipcode,str(loaddt)
try: db.execute(cSQL, vals)
except (pyodbc.Error) as programError:
if str(programError).find("UNIQUE constraint failed") > 0:
dupeRow = True
dupes +=1
print " * duplicate address found: "+name+", "+street
else:
pyodbcErr = True
print "ODBC error: %s " % programError
addrReturned += 1
if not dupeRow and not pyodbcErr:
addrSaved += 1
if addrWant != "all":
if addrSaved >= addrWant: break
conn.commit()
--------------------------------------------------------------------
That's the 'post to db' routine
> Or you can opt to name the tuple and its components the other way
> around:
>
> for vals in zip(nms,street,city,state,zipcd):
> nm,street,city,state,zipcd = vals
> cSQL = "INSERT INTO ADDRESSES VALUES (?,?,?,?,?)"
I like the first one better. python is awesome, but too many options
for doing the same thing also makes it difficult. For me, anyway.
Thanks
More information about the Python-list
mailing list