[Python-de] PDT: Dateien kopieren und Kopien verifizieren

[email protected] (Stefan Ram) 26 Aug 2024 22:01:44 GMT
Newsgroups gmane.comp.python.general.german
Organization Stefan Ram
Message-ID <[email protected]>
ICBIaWVyIG51biBlaW5lIFZlcnNpb24gZGVzIERhdGVpa29waWVycHJvZ3JhbW1zIG1pdCBWZXJp
Zml6aWVydW5nLAogIGRpZSBldHdhcyBwcmF4aXN0YXVnbGljaGVyIHNlaW4gc29sbCAuIC4gLgoK
ICBadWVyc3QgbXXDnyBtYW4gYmVpICJ0YXJnZXQiIGVpbiBaaWVsdmVyemVpY2huaXMgZWludHJh
Z2VuLgoKICBEYW5uIGJlaSAic291cmNlcyIgZWluZSBMaXN0ZSB2b24gUXVlbGxkYXRlaWVuIChl
aW5lIHBybyBaZWlsZSkuCgogIEhpZXIga2FubiBtYW4gdW50ZXIgV2luZG93cyBpbSBFeHBsb3Jl
ciBvZGVyIGluICJFdmVyeXRoaW5nIgogIG9kZXIgw6RobmxpY2hlbiBQcm9ncmFtbWVuIERhdGVp
ZW4gYXVzd8OkaGxlbiB1bmQgaW4gZGllIFp3aXNjaGVuLQogIGFibGFnZSBrb3BpZXJlbiB1bmQg
ZGFubiBkZXJlbiBQZmFkZSBvZnQgZWluZmFjaCBtaXQgIkN0cmwtViIKICBpbiBkZW4gUXVlbGx0
ZXh0IGVpbmbDvGdlbi4KCiAgRGFzIFByb2dyYW1tIGtvcGllcnQgZGFubiBkaWUgUXVlbGxkYXRl
aWVuIGluIGRlbiBaaWVsb3JkbmVyLgogIFNww6R0ZXIga2FubiBtYW4gZXMgdW52ZXLDpG5kZXJ0
IG5vY2ggZWlubWFsIGF1ZnJ1ZmVuLiBXZW5uIGVzCiAgYmVtZXJrdCwgZGHDnyBlaW5lIERhdGVp
IHNjaG9uIGltIFppZWxvcmRuZXIgZXhpc3RpZXJ0LCBkYW5uCiAgdmVyZ2xlaWNodCBlcyBkaWVz
ZS4KCiAgWnVtIEtvcGllcmVuIHdpcmQgamV0enQgInNodXRpbC5jb3B5MiIgdW5kIHp1bSBWZXJn
bGVpY2hlbgogICJmaWxlY21wLmNtcCIgdmVyd2VuZGV0LiBEYXMgZXJzdGUgc29sbCBhdWNoIG5v
Y2ggZWluaWdlCiAgRGF0ZWlhdHRyaWJ1dGUgYmV3YWhyZW4uIChHcnVuZHPDpHR6bGljaCBtw7Zj
aHRlIGljaCBzcMOkdGVyIHp1CiAgZWlnZW5lbiBGdW5rdGlvbmVuIHp1csO8Y2trZWhyZW4sIHdl
aWwgaWNoIGRhbm4gRm9ydHNjaHJpdHRzLQogIGFuemVpZ2VuIHVuZCBQcm96ZcOfd2llZGVyYXVm
bmFobWVuIGltcGxlbWVudGllcmVuIHdpbGwuKQoKICBNYW4ga2FubiBudW4gbmFjaCBkZW0gS29w
aWVyZW4gZWluZSBXZWlsZSB3YXJ0ZW4gdW5kIGRpZSBEYXRlaWVuCiAgdmVyZ2xlaWNoZW4sIHdl
bm4gc2llIHZlcm11dGxpY2ggbmljaHQgbWVociBpbSBQdWZmZXJzcGVpY2hlcgogIHN0ZWhlbiwg
d2FzIG1hbiBkYXJhbiBlcmtlbm50LCBkYcOfIGRpZSBWZXJnbGVpY2hlIGJlaSBEYXRlaWVuCiAg
aW0gUHVmZmVyIHZpZWwgc2NobmVsbGVyIGdlaGVuIChqZWRlbmZhbGxzIGJlaSBlaW5lciBGZXN0
cGxhdHRlKS4KCiAgRsO8ciBlaW4gIm1vdmUiIGvDtm5udGUgbWFuIGRhbm4gZGllIEZ1bmt0aW9u
ICJwZXJtYW5lbnRseV9kZWxldGUKICBfc291cmNlcyIgYXVmcnVmZW4sIHVtIGRpZSBRdWVsbGVu
IHp1IGzDtnNjaGVuLgoKICBEaWVzZXMgUHJvZ3JhbW0gaXN0IG51ciBmw7xyIERpc2t1c3Npb256
d2Vja2UgZ2VkYWNodCEKICBEYSBlcyBuaWNodCBncsO8bmRsaWNoIGdldGVzdGV0IHd1cmRlLCBp
c3QgZXMgbmljaHQgZsO8ciBkaWUKICB3aXJrbGljaGUgQXVzZsO8aHJ1bmcgYXVmIGVpbmVuIENv
bXB1dGVyIGdlZGFjaHQsIGRhcyB3w6RyZSB6dQogIHVuc2ljaGVyISBMZWlkZXIgaGFiZW4gZGll
IFplaWxlbiBtZWhyIGFscyA3MiBaZWljaGVuLgoKaW1wb3J0IHBhdGhsaWIKaW1wb3J0IHNodXRp
bAppbXBvcnQgZmlsZWNtcAoKIyBIaWVyIGRlbiBaaWVscGZhZCBoaW5laW5rb3BpZXJlbi9laW50
cmFnZW4hCiMgTXXDnyBlaW4gVmVyemVpY2huaXMgc2VpbiEKdGFyZ2V0ID0gcicnJwoKQzpcZXhh
bXBsZWRpcgoKJycnLnN0cmlwKCkKCiMgSGllciBkaWUgUXVlbGxwZmFkZSAoZGVyemVpdCBzaW5k
IE5VUiBEQVRFSUVOIG3DtmdsaWNoKQojIGVpbnRyYWdlbi9oaW5laW5rb3BpZXJlbiEKc291cmNl
cyA9WyBzb3VyY2Uuc3RyaXAoKSBmb3Igc291cmNlIGluICcnJwoKQzpcb3RoZXJkaXJcZXhhbXBs
ZS50eHQKQzpcc29tZWRpclxleGFtcGxlLnR4dApDOlxzb21lZGlyXGV4YW1wbGUxLnR4dAoKJycn
IC5zdHJpcCgpLnNwbGl0KCAnXG4nICkgaWYgc291cmNlIF0KCmRlZiBtYWluKCktPiBOb25lOgog
ICAgdGFyZ2V0X3BhdGggPSBwYXRobGliLlBhdGgoIHRhcmdldCApCiAgICBpZiBub3QgdGFyZ2V0
X3BhdGguaXNfZGlyKCk6CiAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCBmJ1RhcmdldCBtdXN0
IGJlIGEgZGlyZWN0b3J5ISBUYXJnZXQgaXMgInt0YXJnZXR9Ii4nICkKICAgIGVsc2U6CiAgICAg
ICAgZm9yIHNvdXJjZSBpbiBzb3VyY2VzOgogICAgICAgICAgICBzb3VyY2VfcGF0aCA9IHBhdGhs
aWIuUGF0aCggc291cmNlICkKICAgICAgICAgICAgaWYgbm90IHNvdXJjZV9wYXRoLmV4aXN0cygp
OgogICAgICAgICAgICAgICAgcmFpc2UgRmlsZU5vdEZvdW5kRXJyb3IoZiJTb3VyY2UgZmlsZSBu
b3QgZm91bmQ6IHtzb3VyY2VfcGF0aH0iKQogICAgICAgICAgICBlbGlmIG5vdCBzb3VyY2VfcGF0
aC5pc19maWxlKCk6CiAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIGYnU291cmNl
IG11c3QgYmUgYSBmaWxlISBTb3VyY2UgaXMgIntzb3VyY2V9Ii4nICkKICAgICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgICAgIHNvdXJjZV9uYW1lID0gc291cmNlX3BhdGgubmFtZQogICAgICAg
ICAgICAgICAgdGFyZ2V0X2ZpbGVfcGF0aCA9IHRhcmdldF9wYXRoIC8gc291cmNlX25hbWUKICAg
ICAgICAgICAgICAgIGlmIG5vdCB0YXJnZXRfZmlsZV9wYXRoLmV4aXN0cygpOgogICAgICAgICAg
ICAgICAgICAgICMgY29weQogICAgICAgICAgICAgICAgICAgIHByaW50KCBmJ1RhcmdldCBmaWxl
IGRvZXMgbm90IGV4aXN0LiBDb3B5aW5nIGZyb20gXG4ie3NvdXJjZV9wYXRofSIgdG8gXG4ie3Rh
cmdldF9maWxlX3BhdGh9IiAuIC4gLicgKQogICAgICAgICAgICAgICAgICAgIHNodXRpbC5jb3B5
Miggc3RyKCBzb3VyY2VfcGF0aCApLCBzdHIoIHRhcmdldF9maWxlX3BhdGggKSkKICAgICAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgaWYgbm90IHRhcmdldF9maWxlX3BhdGgu
aXNfZmlsZSgpOgogICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvciggZidU
YXJnZXQgb2JqZWN0IGlzIG5vdCBhIGZpbGUhIFRhcmdldCBvYmplY3QgaXMgInt0YXJnZXRfZmls
ZV9wYXRofSIuJyApCiAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAg
ICAgICAgIyBjb21wYXJlCiAgICAgICAgICAgICAgICAgICAgICAgIHByaW50KCBmJ1RhcmdldCBm
aWxlIGV4aXN0LiBDb21wYXJpbmcgXG4ie3NvdXJjZV9wYXRofSIgd2l0aCBcbiJ7dGFyZ2V0X2Zp
bGVfcGF0aH0iIC4gLiAuJyApCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZpbGVjbXAuY21w
KCBzb3VyY2VfcGF0aCwgdGFyZ2V0X2ZpbGVfcGF0aCwgc2hhbGxvdz1GYWxzZSApOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFzcwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIGYnRmlsZXMgZGlmZmVyOiBcbiJ7c291
cmNlX3BhdGh9IiBhbmQgXG4ie3RhcmdldF9maWxlX3BhdGh9Ii4nICkKICAgICAgICAgICAgcHJp
bnQoKQogICAgICAgICAgICAKZGVmIHBlcm1hbmVudGx5X2RlbGV0ZV9zb3VyY2VzKCk6CiAgICBm
b3Igc291cmNlIGluIHNvdXJjZXM6CiAgICAgICAgc291cmNlX3BhdGggPSBwYXRobGliLlBhdGgo
IHNvdXJjZSApCiAgICAgICAgaWYgc291cmNlX3BhdGguaXNfZmlsZSgpOgogICAgICAgICAgICBz
b3VyY2VfcGF0aC51bmxpbmsoKQogICAgICAgICAgICBwcmludCggZidGaWxlICJ7c291cmNlX3Bh
dGh9IiBoYXMgYmVlbiBwZXJtYW5lbnRseSBkZWxldGVkLicgKQogICAgICAgIGVsc2U6CiAgICAg
ICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvciggZidGaWxlICJ7c291cmNlX3BhdGh9IiBkb2VzIG5v
dCBleGlzdCBvciBpcyBub3QgYSBmaWxlLicgKQoKbWFpbigpCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpweXRob24tZGUgTWFpbGluZ2xpc3RlIC0tIHB5
dGhvbi1kZUBweXRob24ub3JnClp1ciBBYm1lbGR1bmcgdm9uIGRpZXNlciBNYWlsaW5nbGlzdGUg
c2VuZGVuIFNpZSBlaW5lIE5hY2hyaWNodCBhbiBweXRob24tZGUtbGVhdmVAcHl0aG9uLm9yZwpo
dHRwczovL21haWwucHl0aG9uLm9yZy9tYWlsbWFuMy9saXN0cy9weXRob24tZGUucHl0aG9uLm9y
Zy8KTWl0Z2xpZWRzYWRyZXNzZTogZ2NwZ2ctcHl0aG9uLWRlQG0uZ21hbmUtbXgub3JnCg==