Rumah > Soal Jawab > teks badan
迷茫2017-04-17 17:31:19
Terdapat beberapa penyelesaian pilihan, yang boleh dipilih mengikut situasi sebenar (platform berjalan, keperluan aplikasi).
Pilihan 1. Gunakan python untuk merangkum panggilan ke program rsync setempat
Jika keperluannya agak mudah dan terdapat program rsync tempatan tersedia pada platform yang sedang berjalan, anda boleh menggunakan modul subproses untuk merangkum perintah panggilan untuk rsync (anda juga boleh menggunakan Enkapsulasi modul os, prinsipnya adalah sama), contohnya:
cmd = "rsync -avrz /opt/data/filename root@ip:/opt/data/file"
subprocess.call(cmd, shell=True)
Kelebihan penyelesaian ini ialah ia mudah untuk dilaksanakan dan tidak terdedah kepada pepijat. Kelemahannya ialah jika anda menjalankan pada platform Windows, ia lebih menyusahkan dan anda perlu memasang program rsync tempatan, seperti melalui cygwin.
Pilihan 2, pelaksanaan python protokol rsync:
Vivian De Smedt menyediakan pelaksanaan python rsync pada Bitbucket, yang sangat kecil dan hanya 15KB.
https://bitbucket.org/vds2212/rsync.py
Kelebihan pendekatan ini ialah ia bebas platform dan boleh digunakan pada mana-mana platform yang menjalankan python. Walau bagaimanapun, memandangkan ini adalah pelaksanaan peribadi, ia mungkin mempunyai pepijat, tidak serasi dengan rsync standard dan memerlukan masa untuk mempelajari cara menggunakan skrip, dsb.
Jika tujuannya adalah untuk memanggil rsync dalam skrip python untuk menyelesaikan tugas penyelenggaraan harian automatik pada platform Linux, maka pilihan pertama disyorkan.
天蓬老师2017-04-17 17:31:19
Haha, saya tidak mencari modul berkaitan....
Anda boleh mencari beberapa modul dengan hanya mencari pypi.
https://pypi.python.org/pypi?:action=search&term=rsync&submit=search