我想要做的是从索引文件中读取文件名列表,然后将每个列出的文件复制到另一个目录,但我在正确地将 xargs 和 cp 串在一起时遇到了一些麻烦。
head -n 150 ../indexes/index.txt | xargs cp ~/path/to/destination/
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误:
cp: target 'foo.txt': Not a directory
Run Code Online (Sandbox Code Playgroud)
其中foo.txt是 index.txt 中列出的第 150 个文件名。显然 cp 应该将 xargs 的输入作为其第一个操作数而不是第二个操作数,但我如何让它做到这一点?
我不明白为什么这个try块中的代码不会执行.我得到一个编译错误,说我在try块之后使用这些变量时,可能无法初始化它们.
double star, planet, posLife, actLife, intelLife, comm, length;
try{
star = Double.parseDouble(factor.elementAt(0).getText());
planet = Double.parseDouble(factor.elementAt(1).getText());
posLife = Double.parseDouble(factor.elementAt(2).getText());
actLife = Double.parseDouble(factor.elementAt(3).getText());
intelLife = Double.parseDouble(factor.elementAt(4).getText());
comm = Double.parseDouble(factor.elementAt(5).getText());
length = Double.parseDouble(factor.elementAt(6).getText());
} catch(NumberFormatException E){
System.err.println("NumberFormatException");
}
Run Code Online (Sandbox Code Playgroud) 我一直在这里阅读CSV模块上的Python文档:https://docs.python.org/2/library/csv.html
我注意到它没有提到任何方式让读者对象返回它当前正在读取的行数,或者它当前处于哪个迭代.这似乎是一个广泛需要的功能.所以,我想知道如何做到这一点:
reader = csv.DictReader(readFile)
for row in reader:
# do something
# now want to find the line number that row corresponds to
Run Code Online (Sandbox Code Playgroud)
或者,如果不可能,为什么会这样.