python的縮排問題
在python3之後
tab跟4個空格不能混用了
pep-8說要用4個空格,但一直打4個空格實在是太麻煩了
所以寫了個可以把所有tab變成4個空格、以及所有4個空格變成tab的小程式
很好用喔哈哈
程式碼短短的
直接拿去用吧
就這樣
好了,今天的筆記到此結束
希望有幫助未來遺忘這些的自己,以及需要的人
tab跟4個空格不能混用了
pep-8說要用4個空格,但一直打4個空格實在是太麻煩了
所以寫了個可以把所有tab變成4個空格、以及所有4個空格變成tab的小程式
很好用喔哈哈
程式碼短短的
直接拿去用吧
import sys
def tab2fourSpaces(string):
result_str = ''
for char in string:
if char=='\t':
result_str += ' '
else:
result_str += char
return result_str
def fourSpaces2tab(string):
result_str = ''
space_count = 0
for char in string:
if char == ' ':
space_count += 1
if space_count == 4:
result_str += '\t'
space_count = 0
else:
if space_count > 0:
for i in range(space_count):
result_str += ' '
result_str += char
space_count = 0
else:
result_str += char
space_count = 0
return result_str
def main():
if sys.argv[2] == '1':
new_content = []
with open(sys.argv[1],'r') as fin:
for input_line in fin:
output_line = tab2fourSpaces(input_line) #already contain '\n'
new_content.append(output_line)
with open(sys.argv[1],'w') as fout:
for line in new_content:
fout.write(line)
if sys.argv[2] == '2':
new_content = []
with open(sys.argv[1],'r') as fin:
for input_line in fin:
output_line = fourSpaces2tab(input_line)
new_content.append(output_line)
with open(sys.argv[1],'w') as fout:
for line in new_content:
fout.write(line)
if __name__ == '__main__':
main()
就這樣
希望有幫助未來遺忘這些的自己,以及需要的人

留言
張貼留言