使用python脚本读取输入文件

时间:2018-08-18 22:36:57

标签: python

我有许多目录,每个目录都有一个输入文件,其中的值存储如下:

1.1, 2.2, 2.87, 3.5
41.3, 305, 300, 712

我写了一个python脚本来遍历每个目录并读取输入文件,并将数字存储在不同的变量中。 例如,对于上述输入文件,脚本应将8个数字存储在8个不同的变量中,例如a = 1.1,b = 2.2,c = 2.87,d = 3.5,e = 41.3,f = 305,g = 300和h = 712

为此,我编写了以下脚本。

import numpy as np
import os
import glob
import h5py
from pathlib import Path
a = 0; b = 0; c = 0; d = 0; e = 0; f = 0; g = 0; h = 0
dir_to_scan = "/data/abcd"
p = Path(dir_to_scan)
for x in p.iterdir():
    configfile = x.joinpath("rough.txt")
    with open(float(configfile)) as f:
        f.read("{a}, {b}, {c}, {d}\n{e}, {f}, {g}, {h}")
        #print (a[0])
        f.close()

但是执行后,它显示以下错误:

TypeError: integer argument expected, got 'str'

1 个答案:

答案 0 :(得分:0)

您必须使用f.read()读取整个文件,在每个换行符(\n)和每个逗号处将其分割,然后将每个值转换为float:

with open(configfile) as f:
    lines = f.read().split('\n')
    a, b, c, d = [float(v) for v in lines[0].split(', ')]
    e, f, g, h = [float(v) for v in lines[1].split(', ')]

如果使用f.close(),则不需要with。该文件将在with

的结尾处关闭