我是一个完全盲目的程序员,想学习Python.不幸的是,代码块用不同的缩进级别表示的事实是一个主要的障碍.我想知道是否有任何可用的工具允许我使用大括号或其他代码块分隔符编写代码,然后将该格式转换为Python解释器可以使用的正确缩进表示形式?
有一个解决你的问题,与python本身一起分发.pindent.py
,它位于Windows安装的Tools\Scripts目录中(我的路径是C:\ Python25\Tools\Scripts),如果你在Linux上运行,看起来你已经从svn.python.org获取了它或OSX.
它在块关闭时添加注释,或者在放入注释时可以正确缩进代码.这是pindent通过命令输出的代码示例:
pindent.py -c myfile.py
def foobar(a, b): if a == b: a = a+1 elif a < b: b = b-1 if b > a: a = a-1 # end if else: print 'oops!' # end if # end def foobar
原件myfile.py
是:
def foobar(a, b): if a == b: a = a+1 elif a < b: b = b-1 if b > a: a = a-1 else: print 'oops!'
您还可以使用pindent.py -r
基于注释插入正确的缩进(有关详细信息,请阅读pindent.py的标题),这应该允许您在python中编码而不必担心缩进.
我有兴趣了解您最终使用的解决方案,如果您需要任何进一步的帮助,请对此帖发表评论,我会尽力提供帮助.
我个人怀疑目前是否存在,因为很多Python afficionados都喜欢这样的事实,即Python就是这样,空白分隔.
然而,我从未真正将其视为可访问性问题.也许这是向Python提出错误报告的东西?
我假设您在这里使用屏幕阅读器输出?这些标签看起来对你来说是"看不见的"吗?使用盲文输出,它可能更容易阅读,但我可以理解这可能是多么令人困惑.
事实上,这对我来说非常有趣.我希望我知道足够能够编写一个能够为你做这个的应用程序.
我认为这肯定是我将在bug报告中提出的,除非你自己已经或者想要这样做.
编辑:另外,正如John Millikin所指出的还有PyBraces这对你来说可能是一个可行的解决方案,并且可能会根据你的编码技巧被黑客攻击,这正是你所需要的(我希望如果是这样的话) ,你把它发布给像你这样的人使用)
编辑2:我刚刚向python bug跟踪器报告了这个问题
虽然我不是盲目的,但我听说过Emacspeak的好消息.自从1998年发布8.0以来,他们就拥有了Python模式(他们似乎已经发布了28.0!).绝对值得一试.
你应该能够配置你的编辑器来说出标签和空格 - 我知道可以在大多数编辑器中显示空白,所以必须有一个可访问性选项来说出它们.
如果做不到这一点,那就是pybraces,它被写成一个恶作剧,但实际上可能对你有所帮助.
如果您使用的是Windows,我强烈建议您从以下网址查看EdSharp:http://empowermentzone.com/EdSharp.htm 它支持所有领先的Windows屏幕阅读器,它可以配置为说明代码的缩进级别,或者它有一个名为PyBrace的内置实用程序,如果你想这样做,它可以转换为和大括号语法,它支持程序员在我们的文本编辑器中期望的各种其他功能.我已经使用它多年了,从PHP到JavaScript,从HTML到Python,我喜欢它.