我需要更清楚地解释一下,因为从标题中你无法完全理解我的需求......
File = input ("Insert the name of the file: ")
IV = np.genfromtxt('D:\User\Python\Programms_Python\programms\%d.txt',
File, usecols=(1,5,2,5))
我需要从命令行插入我要分析的文件的名称,因为我必须对许多不同的.txt
文件进行多次分析,直接从命令行插入它们的名称会使我的工作更多快点。你能建议一种在函数genfromtxt
中插入它的方法吗?可能吗?
genfromtxt是numpy中的一个函数,它允许你复制你的txt中一个列的值,使用usecols你可以询问哪个列要复制到数组中,这样就可以成为一个多维数组,就像这种情况IV是一个四维数组。
尝试我上面显示的方式,genfromtxt
无法识别%d -> File
(.txt
文件的名称只是数字,我也尝试使用%s
但是它没有改变)所以请...帮助
答案 0 :(得分:0)
执行此操作的最简单方法可能是通过sys.argv
获取命令行参数,然后循环遍历它们,将它们一次传递给函数genfromtext
(我不知道)顺便说一下genfromtext
是什么。你的问题没有提到它来自哪里。但是根据你的用法,我认为它是第三方模块np
中的一个功能,你也告诉我们什么。)所以,无论如何,你的代码看起来像这样:
from sys import argv
for arg in argv[1:]:
IV = np.genfromtext(arg, usecols=(1,5,2,5))
[1:]
之后的argv
是因为你没有得到第一个命令行参数,它只是你的Python脚本文件的名称。