Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问保存在.txt文件中的文件路径。(Python)_Python_Numpy_Text_Filepath - Fatal编程技术网

访问保存在.txt文件中的文件路径。(Python)

访问保存在.txt文件中的文件路径。(Python),python,numpy,text,filepath,Python,Numpy,Text,Filepath,我有一个文本文件,其中包含要打开的文件的文件路径 文本文件如下所示: 28.2 -1.0 46 14 10 .\temp_109.17621\voltage_28.200\power_-1.txt 28.2 -2.0 46 16 10 .\temp_109.17621\voltage_28.200\power_-2.txt 我想打开此文件路径中的文件 第一步是从文本文件加载每个文件路径 我尝试过使用以下方法: path = np.loadtxt('NonLorentzianData.txt'

我有一个文本文件,其中包含要打开的文件的文件路径

文本文件如下所示:

28.2 -1.0 46 14 10 .\temp_109.17621\voltage_28.200\power_-1.txt
28.2 -2.0 46 16 10 .\temp_109.17621\voltage_28.200\power_-2.txt

我想打开此文件路径中的文件

第一步是从文本文件加载每个文件路径

我尝试过使用以下方法:

path = np.loadtxt('NonLorentzianData.txt',usecols=[5],dtype='S16')
它生成一个路径[1],如下所示:

\\temp\u 109.17621

而不是整个文件路径


我是否使用了错误的
dtype
,或者在
loadtxt
中不可能这样做?

如果您将数据类型更改为
np。str\uu
它将工作:

path = np.loadtxt('NonLorentzianData.txt',usecols=[5],dtype=np.str_)

print(path[1])
.\temp_109.17621\voltage_28.200\power_-2.txt
或者使用
dtype=(“S44”)
也可以,这是两条路径中最长的路径长度。 您正在指定一个16个字符的字符串,因此只能获取前16个字符

如果查看,您将看到每个数据类型都做了什么以及如何使用它们

如果您只需要所有文件路径,还可以使用
csv.reader

import csv
with open("NonLorentzianData.txt") as f:
    reader = csv.reader(f,delimiter=" ")
    for row in reader:
        with open(row[-1]) as f:
            .....

您使用S16作为类型,并得到
\\temp\u 109.17621
,结果(
\\
被转义
\
),并返回长度为16的字符串

尝试使用
np.genfromtxt
dtype=None
或适当调整
dtype='S45'
(在您的情况下)


loadtxt启发,按字面意思加载文件包含的内容。它不理解该列是文件路径。@8765674全部正确,您使用S16作为类型,返回的字符串长度为16(\\是一个字符)。根据,请尝试使用
np.genfromtxt
dtype=None
或适当调整字符串长度,因为从文件加载的路径不是大小写,根据
\\temp\u 109.17621…
斜杠很好
import csv
with open("NonLorentzianData.txt") as f:
    reader = csv.reader(f,delimiter=" ")
    for row in reader:
        with open(row[-1]) as f:
            .....