我们有很多带有丑陋导入语句的文件,如下所示:
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。
答案 0 :(得分:7)
进口
- 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