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))
我有一个包含几百行代码的 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))