Sublime Text:在列位置添加字符

Sublime Text: Add character in column position

我有一个包含几百行代码的 Python 文件。最长的一行是 146 个字符。我如何将 # 放在 Sublime Text 中整个文件的第 200 列中?最好使用一两个 Sublime Text 命令?

1 200

print("Hello world!") #

你可以尝试这样的事情。请注意,这将写入一个新文件:如果您要我修改以覆盖现有文件,请告诉我:

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,这将在行尾附加“#”(无论列号如何)。

这是一个可能的解决方案:

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))