所以我试图将一些预处理的数据移到正确的文件夹中,因为我的其他代码并没有在正确的位置输出(在另一个问题和我正在处理的事情上询问)并且我一直遇到麻烦。我的代码发布在下面。我一直收到这个错误(发布在下面)。我非常接近,但我需要代码来搜索一个目录以获取文件。它似乎在查看我的subject_dir而不是我的dti_dir(即使我在代码中指定了这个)。我想我可能只是错误地输入了我的shutil.move命令的路径。也许我需要加入src的abspath?如果是这样,我不确定正确的语法。我再次编码很新,所以如果这是一个微不足道的问题,我道歉!
IOError: [Errno 2] No such file or directory:
'/gandg/infinite/imaging_data/individuals/inf0117/1/dtifit_L1.nii.gz'
基本上我要做的是
我非常感谢任何建议,请原谅任何菜鸟错误,因为我对编码和尝试学习都很陌生!
# Import modules
import _utilities as util
import os
from nipype.interfaces import fsl
import shutil
# Environment and shortcuts
subject_dir = os.getcwd()
dti_dir = os.path.abspath( os.path.join(subject_dir, 'dti'))
output_path = '../dti/dtifit'
output_basename = os.path.abspath(os.path.join(dti_dir, output_path))
# Move Data
src = dti_dir
dst = output_basename
print('src')
print(src)
print('dst')
print(dst)
files = os.listdir(src)
for f in files:
if (f.startswith("dtifit_")):
shutil.move(os.path.abspath((f), dst)
答案 0 :(得分:0)
我意识到我知道自己问题的答案,所以我会在这里发布,以帮助处于类似情况的其他人。我是对的,我需要用我的f加入我的src,但是我的()在我尝试的前几次放错了所以如果你遇到错误就要注意这一点。如果这个问题浪费在更有经验的编码员的时间,我道歉!
for f in files:
if (f.startswith("dtifit_")):
shutil.move(os.path.abspath(os.path.join(src,f)), dst)