Victor Hooi <victorh...@gmail.com> writes: > Hi, > > Also, forgot two other examples that are causing me grief: cur.executemany("INSERT INTO foobar_foobar_files VALUES (?)", [[os.path.relpath(filename, foobar_input_folder)] for filename in filenames]) > I've already broken it up using the parentheses, not sure what's the > tidy way to break it up again to fit under 80? In this case, the > 80-character mark is hitting me around the "for filename" towards > the end.
That's a natural break. I did it to your code above. Another is the condition, if it's there: cur.executemany("INSERT INTO foobar_foobar_files VALUES (?)", [[os.path.relpath(filename, foobar_input_folder)] for filename in filenames if not filename.startswith('tmp')]) There's much freedom of indentation inside the brackets, but these points are natural. > and: Put the long expression in parentheses and you are again free to break and indent; I tend to have extra spaces inside these parentheses, but I have no idea about any standards: if ( os.path.join(root, file) not in previously_processed_files and os.path.join(root, file)[:-3] not in previously_processed_files ): > In this case, the 80-character mark is actually partway through > "previously processed files" (the first occurrence)... Try to find natural breaks, between phrases, and maybe highlight operators by putting them in the beginning of a line like. Or even this: pre = previously_processed_files if ( os.path.join(root, file) not in pre and os.path.join(root, file)[:-3] not in pre ): -- https://mail.python.org/mailman/listinfo/python-list