os os.path

本文介绍了一个使用Python进行文件和文件夹操作的例子,包括创建文件夹、更改工作目录、列出目录内容、创建文件、重命名文件、获取文件路径信息、显示文件内容以及删除文件和空文件夹。
#! /usr/bin/python
#coding=utf-8
import os
usrdir = '/usr/local'
os.chdir(usrdir)
cwd = os.getcwd()
print'***当前目录为: ',cwd


print '创建文件'
os.mkdir('example')
os.chdir('example')
cwd=os.getcwd()
print '***到新文件下的目录为: ',cwd


print '***dir list: ',os.listdir(cwd)


print '***create test file'
fobj = open('test' ,'w')
fobj.write('hadoop\n')
fobj.write('hive\n')
fobj.close()


print '***dir list: ',os.listdir(cwd)




print '***rename test to demo'
os.rename('test', 'demo')
print '***dir list: ',os.listdir(cwd)


path = os.path.join(cwd, os.listdir(cwd)[0])
print '***full file pathname: ' ,path
print '***(pathname ,basename) == ', os.path.split(path)
print '***(filename,extension) == ',os.path.splitext(os.path.basename(path))




print '**dispaly file contents: '
fobj = open(path)
for e in fobj:
    print e
fobj.close()




print '***delete test file'
os.remove(path)


print os.listdir(cwd)
os.chdir(os.pardir)


print '***delete example dir'
os.rmdir('example')


print '***done'



else: print('Normal') # process in parallel if parallel: print('Reshape reconstructed volumes in parallel') max_processes = 10 list_of_arguments = [] reconstructed_dir = os.path.join(os.path.abspath(args.output_dir), 'reconstructed_niftis') reshaped_dir = os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped') if os.path.exists(reshaped_dir) == False: os.makedirs(reshaped_dir) for plane in planes: for sub in full_subject_list: list_of_arguments.append((sub, plane, reconstructed_dir, reshaped_dir)) # spawn up to 10 processes at a time with multiprocessing.Pool(processes=max_processes) as pool: pool.starmap(reshape_reconstructed_volumes.reshape_t1_t2_flair, list_of_arguments) # run in series else: reshape_reconstructed_volumes.iterate_for_each_plane( subject_list=full_subject_list, data_dir=os.path.abspath(args.output_dir), out_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped') ) print('Finished reshaping reconstructed volumes') print('Coregister reshaped reconstructed volumes') # coregister reshaped reconstructed volumes if ensemble: print('Ensemble') coregister_reshaped_reconstructed_volumes_ensemble.coregister_all_folds( subs_file=os.path.abspath(args.subs_file), data_dir=os.path.abspath(args.output_dir), out_dir=os.path.abspath(args.output_dir), n_splits=12 ) else: print('Normal') coregister_reshaped_reconstructed_volumes.coregister_all_subjects( subjects_list=full_subject_list, data_dir=os.path.abspath(args.output_dir), output_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped_coregistered') ) print('Finished coregistering reshaped reconstructed volumes') print('Filtering volumes using wavelet transform') if ensemble: if parallel: print('Ensemble') wavelet_transform_filter_ensemble.filter_in_parallel( subs_file=os.path.abspath(args.subs_file), path=os.path.abspath(args.output_dir), output_dir=os.path.abspath(args.output_dir), n_splits=12, decNum=8, wname='db25', damp_sigma=8 ) else: wavelet_transform_filter_ensemble.filter_in_series( subs_file=os.path.abspath(args.subs_file), path=os.path.abspath(args.output_dir), output_dir=os.path.abspath(args.output_dir), n_splits=12, decNum=8, wname='db25', damp_sigma=8 ) else: print('Normal') if parallel: wavelet_transform_filter.filter_in_parallel( subjects=full_subject_list, path=os.path.abspath(args.output_dir), output_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped_coregistered_filtered'), decNum=8, wname='db25', damp_sigma=8 ) else: wavelet_transform_filter.filter_in_series( subjects=full_subject_list, path=os.path.abspath(args.output_dir), output_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped_coregistered_filtered'), decNum=8, wname='db25', damp_sigma=8 ) print('Finished filtering volumes using wavelet transform') print('Coregistering filtered outputs') if ensemble: coregister_filtered_outputs_ensemble.coregister_all_subjects( subs_file=os.path.abspath(args.subs_file), ensemble_output_dir=os.path.abspath(args.output_dir), n_splits=12 ) print('Finished coregistering filtered outputs') # average the outputs across each fold to increase signal-to-noise ratio if ensemble: print('Averaging filtered volumes') if parallel: print('Averaging in parallel') averaging_filtered_ensemble.iterate_in_parallel( subs_file=os.path.abspath(args.subs_file), input_dir=os.path.abspath(args.output_dir), output_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_filtered_averaged_across_folds'), n_splits=12 ) else: print('Averaging in series') averaging_filtered_ensemble.iterate_for_each_sub( subs_file=os.path.abspath(args.subs_file), input_dir=os.path.abspath(args.output_dir), output_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_filtered_averaged_across_folds'), n_splits=12 ) print('Finished averaging filtered volumes') print('Unpadding volumes to original shape') if ensemble: if parallel: unpad.unpad_parallel( subjects=full_subject_list, padded_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_filtered_averaged_across_folds'), orig_dir=os.path.abspath(args.data), output_dir=os.path.join(os.path.abspath(args.output_dir), 'LowGAN_outputs') ) else: unpad.unpad_series( subjects=full_subject_list, padded_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_filtered_averaged_across_folds'), orig_dir=os.path.abspath(args.data), output_dir=os.path.join(os.path.abspath(args.output_dir), 'LowGAN_outputs') ) else: if parallel: unpad.unpad_parallel( subjects=full_subject_list, padded_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped_coregistered_filtered'), orig_dir=os.path.abspath(args.data), output_dir=os.path.join(os.path.abspath(args.output_dir), 'LowGAN_outputs') ) else: unpad.unpad_series( subjects=full_subject_list, padded_dir=os.path.join(os.path.abspath(args.output_dir), 'recon_niftis_reshaped_coregistered_filtered'), orig_dir=os.path.abspath(args.data), output_dir=os.path.join(os.path.abspath(args.output_dir), 'LowGAN_outputs') ) print('Finished unpadding volumes to original shape') if intermediates: print('Moving intermediate outputs to intermediates directory') if os.path.exists(os.path.join(os.path.abspath(args.output_dir), 'intermediates')) == False: os.makedirs(os.path.join(os.path.abspath(args.output_dir), 'intermediates')) # we will move only the specific directories that were generated by LowGAN to the intermediates directory # to make sure that we don't mess with any other files that may be in the output directory planes = ['axial', 'coronal', 'sagittal'] for plane in planes: os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), f"dataset_{plane}_pix2pix")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') if ensemble: folds = [f'fold_{fold}' for fold in range(0, 12)] for fold in folds: os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), fold)} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), "recon_niftis_filtered_averaged_across_folds")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') else: os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), "results_LowGAN")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), "reconstructed_niftis")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), "recon_niftis_reshaped")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), "recon_niftis_reshaped_coregistered")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') os.system(f'mv {os.path.join(os.path.abspath(args.output_dir), "recon_niftis_reshaped_coregistered_filtered")} {os.path.join(os.path.abspath(args.output_dir), "intermediates")}') print('Finished moving intermediate outputs to intermediates directory')改为中文注释
最新发布
07-08
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值