修复Python导入样式的实用程序?

时间:2011-10-07 20:19:18

标签: python coding-style

我们有很多带有丑陋导入语句的文件,如下所示:

from project.foo import a, b
from project.foo import c
from project.bar import d, e, f, g

是否存在将每行更改为一次导入的内容?

from project.foo import a
from project.foo import b
from project.foo import c
from project.bar import d
from project.bar import e
from project.bar import f
from project.bar import g

澄清:这样做的原因是为了保持一致的风格,例如Google's style guide for Python

2 个答案:

答案 0 :(得分:7)

根据PEP8 style guide

  

进口

- Imports should usually be on separate lines, e.g.:

    Yes: import os
         import sys

    No:  import sys, os

  it's okay to say this though:

    from subprocess import Popen, PIPE

所以,我认为你应该做你自己的事,不应该分裂它们。我不知道有什么用处可以帮助你。

另外,如果:

project.bar包含说:d,e,f,g,x,y,z然后我会说只做一个import project.bar,代码对于眼睛来说会轻松得多。

答案 1 :(得分:0)

sed可以用这样的东西做到这一点(首先测试,因为我现在无法访问我的Linux盒子来测试它):

sed -i".backup" 's/from ([^ ]+) import ([^,]+), ([^,]+)/from \1 import \2\nfrom \1 import \3/' *.py