拿到一个缩进乱掉且无从整理起的Py脚本,有什么自动化的方法可以统一好缩进呢

2013-09-24 13:56:41 +08:00
 samui
看起来都对的,但是就是运行不了,提示明显就是缩进没有对,改了提示缩进有误的地方还是不行,第一次感觉Python的缩进好头疼啊...
5724 次点击
所在节点    Python
24 条回复
julyclyde
2013-09-24 14:06:05 +08:00
这个没戏
只能人肉读了
ericls
2013-09-24 14:07:15 +08:00
是不是tab和space混写了?
9hills
2013-09-24 14:09:02 +08:00
autopep8 -i xxxx.py

能搞定很多问题
iscraft
2013-09-24 15:10:38 +08:00
作为一个三脚猫不入流的伪程序员用的是php.不可否认python的热度和各种便利.一直想学习.但想到py的版本兼容性就没了兴趣.最大的问题是感觉靠缩进和回车来控制结构与运行的程序语言纯属二逼行为.个人偏激观点.
lio
2013-09-24 16:20:35 +08:00
用过后,就会习惯了。然后你用什么语言都会加上编进了。
immjun
2013-09-24 16:58:47 +08:00
试试这个吧~ http://jsbeautifier.org/
zhoubo
2013-09-24 20:19:52 +08:00
vim可以自动对代码做排版。选中所有代码,然后按“等号”键即可。
Golevka
2013-09-24 20:20:12 +08:00
不存在适用于python的pretty printer
lk09364
2013-09-24 22:40:34 +08:00
@immjun 不,这个是javascript 的吧,感觉用于python 的自动缩进工具会有很多错误 ——
dingyaguang117
2013-09-24 23:17:36 +08:00
@iscraft 其实如果缩进习惯良好 应该是没有障碍的
ushuz
2013-09-24 23:57:51 +08:00
如果看起来都对但提示缩进错误,tab sapce混写可能性比较大。
ushuz
2013-09-24 23:58:27 +08:00
@iscraft 哪种语言不得缩进?
pycq2002
2013-09-25 00:14:17 +08:00
@zhoubo 这个vim应该也是搞不定的把,因为python的缩进中包含了语义,vim无法判断究竟该把一句话放到哪个块里面好。
iscraft
2013-09-25 00:31:45 +08:00
@ushuz 我的意思是用缩进来控制程序本身.而不是合理和可读性.非质疑python的强大.
<?$d=date("D");if ($d=="Fri") echo "Have a nice weekend!"; else echo "Have a nice day!"; ?>
上面这些无缩进无换行.但有正确结果.并且不会报错.
xingzhi
2013-09-25 00:33:51 +08:00
@iscraft
强制缩进最重要一点是保证代码可读性,减少「个人风格」,读别人的代码也能得心应手。
控制「控制结构与运行」并不是初衷与目的。

另外,版本兼容并不是一个很大的问题,现在大部分开发者都在用2.7版本;选定了一个版本后,我几乎就已经忽略了python3了
yakczh
2013-09-25 07:39:42 +08:00
强制缩进导致python变成一种小众语言,"保证代码可读性,减小[个人风格]"的想法,就象每个人都用水果手机一样的界面,这样用别人的水果的时候也能得心应手" 可是减小个人风格不一定让大多数开发者都能认同
hanf
2013-09-25 08:37:12 +08:00
没戏,因为python里面缩进是逻辑的一部分,丢失了缩进,等同于丢失了逻辑
jybox
2013-09-25 08:57:23 +08:00
如果拿到一份没有花括号的 C 代码的话......
mengzhuo
2013-09-25 09:04:31 +08:00
LS的亲们因为缩进就吐槽Python,你们的代码是有多难看啊
wesley
2013-09-25 10:25:21 +08:00
作为一个phper,我不认为强制缩进是一个问题
相反,我认为写任何代码都需要尽量严谨地缩紧,包括html

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/83482

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX