2016-10-03 252 views
-2

我有一個包含幾百行代碼的Python文件。最長的行是146個字符。我如何將#放在Sublime Text中整個文件的200列中?最好有一個或兩個Sublime Text命令?Sublime Text:在列位置添加字符

1 200

print("Hello world!") #

+0

第200列是什麼意思?你想填補小於200個字符的空白行嗎? – BPL

+0

@BPL我在原始問題中添加了幾行,希望能夠提供一個更好的示例。我沒有把'#'放在上面的真正的200列位置,只是將它移動到視覺上顯示我想要問的東西。 – user2715877

+0

這與Sublime Text有什麼關係? – MattDMo

回答

1

你可以嘗試這樣的事情。請注意,這個寫入新文件:讓我知道如果你要我修改,使其覆蓋現有文件:

data = [] 
with open('data.txt', 'r') as f: 
    data = [line[:-1] + ' ' * (200 - len(line)) + '#\n' for line in f] 

with open('new_data.txt', 'w') as f: 
    f.writelines(data) 

注意,這將會只是追加了「#」在該行的末尾(不管列號),如果線的長度> = 200。

0

這裏的一個可能的解決方案:

N = 200 
output = [l.rstrip() for l in f] 
output = ["{0}#{1}".format(
    l[:len(l[:N])] + ' ' * (N - len(l[:N])), l[N:]) for l in output] 

print("\n".join(output)) 

或寫入不同的:

N = 200 
output = [] 
for l in f: 
    l = l.rstrip() 
    l1 = len(l[:N]) 
    output.append("{0}#{1}".format(l[:l1] + ' ' * (N - l1), l[N:])) 

print("\n".join(output))