所以我有一个关于我写的包含两个函数的脚本的问题。 其思想是将给定文件夹中的所有DICOM文件(CT文件的数据格式)匿名化,并将匿名文件移动到新文件夹中
问题是-匿名功能本身工作,该功能将所有文件从一个文件夹移动到另一个文件夹。不幸的是,我无法使两个函数在一个循环中工作
匿名DICOM文件的功能:
folder = r"C:.../test1"
target = r"C:.../test2"
def forceAnonymizeDICOMFile(inFile, outFile, dictionary = ''):
currentAnonymizationActions = initializeActions()
del currentAnonymizationActions[(0x0010, 0x0020)]
del currentAnonymizationActions[(0x0010, 0x0040)]
if dictionary != '':
currentAnonymizationActions.update(dictionary)
dataset = pydicom.dcmread(inFile, force=True)
dataset[(0x0010, 0x0010)].value = dataset[(0x0010,0x0020)].value
# Store modified image
dataset.save_as(outFile)
移动功能:
def moving(folder, file, target):
for file in files:
shutil.move(os.path.join(folder, file), target)
用于连接两者的循环:
subfolders = os.listdir(folder)
for idx, subfolder in enumerate(subfolders, 1):
print(f"{idx}/{len(subfolders)} ({subfolder})")
for file in os.listdir(folder+"/"+subfolder):
filepath = folder+"/"+subfolder+"/"+file
forceAnonymizeDICOMFile(filepath, filepath)
moving(folder, file, target)
我觉得我的循环中有一个错误,因为我得到了错误:
FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:../test1'
我不认为这两个函数都有错误,因为它们都是独立工作的
非常感谢您的帮助,谢谢
我真的可以解决它。 问题是我没有在目标文件夹中指定文件夹结构:
现在它工作正常。 谢谢@Timus的支持
相关问题 更多 >
编程相关推荐