我需要解决在命令的循环序列中运行的琐碎任务:
1)从文件夹中获取输入的.dcd文件 2)对文件进行一些操作 3)将结果保存在列表中
我的代码(不起作用!)看起来像
# make LIST OF THE input DCD FILES
path="./inputs/"
dirs=os.listdir(path)
for traj in dirs:
trajectory = command(traj)
它正确定义了输入的名称,但写了那个evvery文件是空的
或者我使用下面的脚本使用数字变量循环遍历文件,这些变量被赋予每个文件的名称(这在我当前的任务中并不好,因为我需要保留每个输入文件的名称以避免使用数字!)< / p>
# number of input files
n=3
for i in xrange (1,n+1):
trajectory = command('./inputs/file_%d.dcd' %(i))
在最后一种情况下,所有dcd文件都已正确加载(与第一个示例相反)!那么问题是我应该在第一个例子中解决什么?
答案 0 :(得分:1)
os.listdir()
仅为您提供相对于目录的基本文件名。没有路径。
使用以下路径为文件名添加前缀:
for traj in dirs:
trajectory = command(os.path.join(path, traj))