Python 将每行的第10个索引乘以2

Python 将每行的第10个索引乘以2,python,string,line,overwrite,multiplication,Python,String,Line,Overwrite,Multiplication,我对编程非常陌生,所以我想我应该从一个看似简单的任务开始。但是我被卡住了,所以我希望得到你的一些反馈 我想做什么: 我有一个有32行字符串的文件 我想把每个字符串的第10个索引乘以2 然后我想用新计算的数字替换每个字符串的第10个索引 然后我想把文件保存到一个新目录 到目前为止我做了什么(相当可怜): 我能够提取字符串上的第10个数字并将其乘以2。但是,我似乎无法正确地将乘法连接到预先存在的字符串中 我也不知道如何将文件写入新目录 32个字符串之一的示例: FLBR id“Knoop_debie

我对编程非常陌生,所以我想我应该从一个看似简单的任务开始。但是我被卡住了,所以我希望得到你的一些反馈

我想做什么:

我有一个有32行字符串的文件

我想把每个字符串的第10个索引乘以2

然后我想用新计算的数字替换每个字符串的第10个索引

然后我想把文件保存到一个新目录

到目前为止我做了什么(相当可怜):

我能够提取字符串上的第10个数字并将其乘以2。但是,我似乎无法正确地将乘法连接到预先存在的字符串中

我也不知道如何将文件写入新目录

32个字符串之一的示例:

FLBR id“Knoop_debiet2”sc 0 lt 0 dc lt 0 0.05 0 FLBR

到目前为止,我的代码是:

f = open('C:\\Sobek215\\PythonWd.lit\\1\\LATERAL.DAT', 'r')
linelist = f.readlines()
print(linelist)
f.close

for line in linelist:
    line = line.split(' ')
    flow = float(line[10])
    fl_2Q = flow*2
    print(fl_2Q)
    line[10] = str(fl_2Q)
    ListToString = ' '.join(str(linelist) for line[10] in line)
    print(linelist)

我将执行以下操作(准伪代码):


谢谢你的回答。它为我返回一个错误:ValueError:无法将字符串转换为浮点:“F”新错误,ValueError:无法将字符串转换为浮点:“FLBR”。FLBR是字符串中的第一个单词,它位于我试图通过Python编辑的文本文件中。这似乎很正常,因为FLBR不是一个数字,所以不能将其转换为字符串。对吗?@T.M.1995抱歉,我有一个小错误。新的编辑应该可以工作。这解决了上一个错误,但现在我的问题是:TypeError:只能加入一个iterable。这意味着什么?我如何修复它?(:仍然是TypeError的错误:只能加入一个iterable。它在代码的第4行,意思是:n.write(“\n”)。join(l))。这是什么意思?
f = open('dir/file.txt', 'r')
l = [" ".join([line.split()[c] if c != 10 else str(float(line.split()[c])*2) for c in range(len(line.split()))]) for line in f.read().splitlines()]
with open('newdir/file.txt', 'w') as n:
    n.write("\n".join(l))