在time machine上运行python脚本以复制文件

2024-10-04 01:27:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想清除我的时光机备份驱动器中的所有数据,只保留照片。因此,我编写了一个python脚本,它遍历文件,找出照片('png','jpg',等等),然后将它们复制到桌面上的另一个文件夹中

问题是osx不允许脚本访问该驱动器中的文件。这是我的剧本:


from os import path, getcwd, mkdir, walk
from shutil import copy2, copyfile

def klasorleri_gez(kynk, hdf):
    butun_icerik = walk(kynk, False)
    butun_icerik_liste = [i for i in butun_icerik]

    for i in range(len(butun_icerik_liste)):
        klasor = butun_icerik_liste[i]
        klasor_adresi = klasor[0]
        klasordeki_dosyalar = klasor[2]
        for dosya in klasordeki_dosyalar:
            dosya_adress = path.join(klasor_adresi, dosya)
            if '.jpg' in dosya_adress or '.png' in dosya_adress or '.jpeg' in dosya_adress:
                print('Kopyalaniyor: ', dosya_adress)
                copy2(dosya_adress, hdf)



if __name__ == "__main__":
    HEDEF_KLASOR_ISIM = 'hedef_klasor'
    KAYNAK_KLASOR_ISIM = "/Volumes/Time{}Machine/Backups.backupdb/Kerem’s{}MacBook{}Pro{}(2)/".format(" ", " ", " ", " ")

    cwd = getcwd()
    hedef_klasor = path.join(cwd, HEDEF_KLASOR_ISIM)
    mkdir(hedef_klasor)
    klasorleri_gez(KAYNAK_KLASOR_ISIM, HEDEF_KLASOR_ISIM)

我已经尝试使用sudosudo su运行它,但作为超级用户,它仍然是不允许的。在this postthis page中提到,可以使用/System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass运行带参数的命令,因此我运行了以下命令:

Kerems-MacBook-Pro:Desktop base$ /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass ls /Volumes/Time\ Machine/Backups.backupdb/Kerem’s\ MacBook\ Pro\ \(2\)/
ls: : Operation not permitted

还是没有运气!有人知道如何克服许可问题吗

谢谢


Tags: pathinforpromacbooklisteadressisim