Saya memiliki file .dcm di jalur seperti di bawah ini (old_path);

old_path: Mass-Test_P_00016_LEFT_MLO_1/10-04-2016-DDSM-15563/1-cropped images-77287/000000.dcm

Saya harus mengganti nama jalur seperti di bawah ini (good_path);

good_path: Mass-Test_P_00016_LEFT_MLO_1/15563/77287/000000.dcm

Perhatikan bahwa saya hanya menyimpan 5 digit terakhir di sub-folder seperti yang ditunjukkan di atas.

Tolong siapa pun menunjukkan kepada saya bagaimana ini harus dilakukan? Ini usahaku...

os.chdir(path to data)
os.listdir()
>> ['Mass-Test_P_00016_LEFT_MLO_1', 'Mass-Test_P_00016_LEFT_MLO']

temp = os.walk('Mass-Test_P_00016_LEFT_MLO_1', topdown=False)
for root, dirs, files in temp:
    for name in files:
        old_path = os.path.join(root, name)
        print("old_path: ", old_path)
        first = old_path.split('/')[1][-5:]
        second = old_path.split('/')[2][-5:]
        #print(first, second)
        good_path = os.path.join(old_path.split('/')[0], first, second, old_path.split('/')[3])
        print("good_path: ", good_path)
        os.rename(old_path, good_path)  

Saya dapat mengatur good_path seperti yang saya inginkan. Tapi itu tidak menimpa nama subfolders.

2
Mass17 19 Maret 2020, 23:38

1 menjawab

Jawaban Terbaik

Anda perlu mengganti nama setiap simpul jalur Anda dari root (folder paling kiri old_path) ke daun (file .dcm Anda). Anda mungkin tertarik menggunakan os.renames daripada os.rename

3
P.S.K 19 Maret 2020, 21:33