我需要在Sublime和PyCharm(大型源文件的一小部分)中编辑一段看起来像这样的代码:
我不确定作者使用的是哪种现代代码编辑器(以及创新的方法要求在一行中混合制表符和空格),但是他们的缩进方式在github上看起来是合理的(所以我猜所有团队成员都在使用)是Atom吗?)-我检查了一下,页面源代码仍然包含\t
符号。
python -m py_compile
命令似乎对此代码很满意,因此我尝试用8 spaces替换制表符,看上去还是很可怕。尝试用“固定数量”的空格替换这些空格也没有用,包括5个可能是数字或 
浏览器应该使用的空格)。我检查过该文件没有CRLF结尾。
我尝试使用内部使用Python 2.7 AST的formatter,它表示缩进是错误的,因此仍然没有运气。
我试图在制表符数量和假定的空格数量后面寻找一些逻辑,导致了以下发现:
2 spaces + tab + 4 spaces => 12 spaces
sstssss ->
ssssssssssss (12 spaces) => t = 6 spaces
example
for |<- these pipes should be one on top of the other
|correct_t
sst ->
ssssssss (8 spaces) => t = 6 spaces
example
|writer.add_scalar('eval/acc', acc, epoch)
|if acc >= best_acc:
but
ssstsssss ->
sssssssssssss (13 spaces) => t = 5 spaces
|best_acc = acc
|model.save_networks('best'+str(epoch))
答案 0 :(得分:0)
哦,我想出了解决方案!我将制表符宽度设置为8个空格,然后按预期方式工作,即,不是将每个<fieldset>
<legend>Personalia:</legend>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
</fieldset>
<fieldset>
<legend>Personalia:</legend>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
</fieldset>
<fieldset>
<legend>Personalia:</legend>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
</fieldset>
<fieldset>
<legend>Personalia:</legend>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
</fieldset>
<fieldset>
<legend>Personalia:</legend>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
<input type='text' value='1'>
</fieldset>
替换为8个空格,而是将它们“制表”为最多8个空格!
在Linux中,人们可以通过\t
做同样的事情。