我有一个包含 181 个文本文件的文件夹,每个文件都包含数字,但我只需要将具有“大小”的行上的那些乘以诸如 0.5 之类的常量变量,但我确实做到了这一点:搜索并用结果替换数学运算在记事本++中 但是我想要做的是没有表达式或引号,以便我所在社区的其他人可以简单地做同样的事情,而无需编辑每个文件以满足乘以每个数字所需的格式。例如:
farmers = {
culture = armenian
religion = coptic
size = 11850
}
乘以 0.5 为:
farmers = {
culture = armenian
religion = coptic
size = 5925
}
我尝试制作一个 python 脚本,但它没有工作,虽然我不太了解 python:
import operator
with open('*.txt', 'r') as file:
data = file.readlines()
factor = 0.5
count = 0
for index, line in enumerate(data):
try:
first_word = line.split()[0]
except IndexError:
pass
if first_word == 'size':
split_line = line.split(' ')
# print(' '.join(split_line))
# print(split_line)
new_line = split_line
new_line[-1] = ("{0:.6f}".format(float(split_line[-1]) * factor))
new_line = ' '.join(new_line) + '\n'
# print(new_line)
data[index] = new_line
count += 1
elif first_word == 'text_scale':
split_line = line.split(' ')
# print(split_line)
# print(' '.join(split_line))
new_line = split_line
new_line[-1] = "{0:.2f}".format(float(split_line[-1]) * factor)
new_line = ' '.join(new_line) + '\n'
# print(new_line)
data[index] = new_line
count += 1
with open('*.txt', 'w') as file:
file.writelines(data)
print("Lines changed:", count)
那么是否有任何解决方案,我宁愿不让社区中的人们格式化每个文件以使用我的解决方案。任何事情都可以工作,只是我还没有找到一个简单的解决方案,任何人都可以快速轻松地理解那些使用 notepad++ 或 Sublime Text 3 的人。