Mundarija:

Python bilan papkalarni sinxronlashtirish: 5 qadam
Python bilan papkalarni sinxronlashtirish: 5 qadam

Video: Python bilan papkalarni sinxronlashtirish: 5 qadam

Video: Python bilan papkalarni sinxronlashtirish: 5 qadam
Video: Telegram bot yozamiz! | python dasturlash tilida 2024, Noyabr
Anonim
Python bilan papkalarni sinxronlashtirish
Python bilan papkalarni sinxronlashtirish
Python bilan papkalarni sinxronlashtirish
Python bilan papkalarni sinxronlashtirish

Bu ko'rsatma sizga ikkita papkani (va ulardagi barcha papkalarni) sinxronlashtirishni ko'rsatib beradi, shuning uchun biri ikkinchisining to'g'ridan -to'g'ri nusxasi. Ishni mahalliy, bulutli/tarmoqli serverda yoki USB -diskda zaxiralash uchun ideal. Ushbu qo'llanmani bajarish uchun dasturlash tajribasi shart emas. E'tibor bering, bu faqat Windows bilan ishlaydi, garchi jarayon Mac va Linuxda o'xshash bo'lsa.

Menda eski Windows kompyuteri bor, u erda men turli funktsiyalarni bajaradigan server vazifasini bajaraman, ulardan biri - tarmoqqa ulangan arzon xotira, u ham media -server, ham oilamning kompyuter ma'lumotlarining zaxira nusxasi.

Mening oilam hamma o'z shaxsiy kompyuterlarida ishlashni yaxshi ko'rar ekan, bizga ma'lumotlarni zaxiralashning oson usuli kerak edi. Menga serverdagi ikkita qattiq diskda RAID kabi yondashuvni qo'llash orqali zaxira nusxasini ikki baravar oshirish kerak edi. Men ham hech qanday dasturiy ta'minot uchun pul to'lamoqchi emas edim (ha, men bilaman, men xasisman). Natijada, barcha bepul dasturiy ta'minot pop -up oynalari bilan birga keladi yoki hatto kompyuterni sinxronlashning uzoq vaqtini va protsessorning katta ishlatilishini sekinlashtiradi, bu shunchaki zerikarli edi.

Shuning uchun, ozgina kuch sarflab, men hammaga kerakli papkalarni sinxronlashtiradigan python skriptini yozdim. Men buni oilaga bajariladigan dastur sifatida sozlashim va tarqatishim mumkin edi, men derazalarni orqa fonda muntazam ravishda ishga tushirishim mumkin edi. Kompyuter foydalanuvchisi aqlli bo'lmasligi kerak edi.

1 -qadam: Python va qaramliklarni o'rnatish

Tarqatiladigan dasturni yaratish uchun kompyuteringizga python o'rnatishingiz kerak. Buning uchun https://www.python.org/downloads/ veb -havolasini bosing va kerakli versiyani topmaguningizcha pastga aylantiring. Eslatma: Afsuski, biz foydalanadigan pyinstaller moduli python 3.8 bilan hali ishlamaydi, shuning uchun siz mos keladigan python versiyasini ishlatishingiz kerak bo'ladi (3.5-3.7).

"Yo'lga qo'shish" katagiga belgi qo'yib, o'rnatishni bajaring.

O'rnatilganidan so'ng, buyruq satrini oching va bizga kerak bo'lgan python modullarini o'rnating, shunda quyidagilarni bajaring va kerak bo'lganda har qanday ko'rsatmalarni bajaring:

pip o'rnatish pyinstaller

pip o'rnatish dirsync

2 -qadam: Python skript

Skript yaxshi va sodda, faqat ikkita satr, quyidagilarni ko'chiring va IDLE (Python bilan o'rnatilgan) yoki bloknotga joylashtiring va "DirectorySync.py" sifatida saqlang:

dirsync import sinxronlashidan

sinxronlashtirish ('C: / FOLDER_A', 'E: / FOLDER_B', 'sync', purge = True)

Sinxronlashtirmoqchi bo'lgan ikkita papka bilan yuqoridagi ikkita papkani o'zgartirganingizga ishonch hosil qiling. Yo'l nomida ikki tomonlama teskari chiziq talab qilinadi, chunki teskari chiziq Pythonda qochish belgisidir.

Birinchi qator biz ilgari o'rnatgan dirsync modulini import qiladi.

Ikkinchisi sinxronlashni amalga oshiradi. Birinchi jild - bu manba papkasi, ikkinchisi - maqsad, "sinxronizatsiya" sinxronizatsiya funktsiyasini sinxronlash rejimini qanday amalga oshirish kerakligini aytadi. Purge = True qo'shilishi funktsiyaga manba papkasida bo'lmagan maqsadli papkadagi hamma narsani o'chirishni aytadi. Sizning ehtiyojlaringizga qarab amalga oshirilishi mumkin bo'lgan boshqa variantlar mavjud.

Yuqorida konfiguratsiya qilingan usul, shuningdek, yuqori darajadagi papkadagi barcha papkalarni sinxronlashtiradi, agar kerak bo'lsa, uni to'xtatish mumkin. Agar siz bir nechta yuqori darajali papkalarni sinxronlashtirishni xohlasangiz, sync () funktsiyasi yordamida kodingizga ko'proq satr qo'shing. Qo'shimcha variantlar va yordam uchun quyidagi havolani ko'ring:

pypi.python.org/pypi/dirsync/2.2.2

3 -qadam:.exe yaratish

Bajariladigan faylni yaratish uchun endi biz buyruq satriga qaytishimiz kerak.

Papka yo'lini oxirgi qadamda biz yaratgan DirectorySync.py skriptiga yo'nalish bilan almashtirib, quyidagilarni kiriting:

pyinstaller -F -w C: /Route_to_your_folder/DirectorySync.py

Python skriptingiz papkasida bu bir qator papkalarni yaratadi: _pycache_, build, dist va boshqa ikkita fayl. Dist papkasida endi DirectorySync.exe deb nomlangan fayl mavjud bo'lib, u sinxronlashni fonda bajaradi. Bu fayl har kimga bo'lgani kabi tarqatilishi mumkin va ular kompyuterda python o'rnatmasdan turib sinxronlashni boshlashlari mumkin.

Buyruq satriga yozilgan BOLD matnida nima bo'layotganini tushuntirish uchun:

"pyinstaller" kompyuterga biz ilgari yuklagan pyinstaller modulidan foydalanishini aytadi

'-F'-bu pyinstaller-ga tarqatilishi kerak bo'lgan bir qator papkalarni emas, faqat bitta bajariladigan faylni yaratishni aytadigan variant.

'-w'-bu kompyuterga har safar skriptni ishga tushirganda buyruq satrini ko'rsatmaslikni bildiruvchi variant.

Yo'l - bu python skriptiga yo'l.

Qo'shimcha variantlar va yordam uchun quyidagi havolani ko'ring:

pyinstaller.readthedocs.io/en/stable/usage…

4 -qadam: Avtomatik ishga tushirish

Endi siz bajariladigan faylni ikki marta bosish orqali nusxa ko'chirmasdan, joylashtirishdan va o'chirmasdan, har qanday papkalarni sinxronlashtirishga tayyormiz. Ammo biz bundan ham ko'proq qadam tashlamoqchimiz va xavotir olmasligingiz uchun Windows jarayonini avtomatik ravishda bajarishini xohlaymiz.

Buning uchun biz Windows bilan birga keladigan Vazifalarni rejalashtiruvchi dasturidan foydalanamiz, bu jarayon Windows 10 -ga asoslangan, lekin boshqa Windows platformalarida deyarli bir xil.

  1. Ishga tushirish menyusidan vazifalar jadvalini oching.
  2. O'ng tomondagi menyudan "Vazifa yaratish" -ni tanlang.
  3. Unga nom va tavsif bering va pastda uning to'g'ri operatsion tizim uchun tuzilganligiga ishonch hosil qiling.
  4. "Triggerlar" yorlig'ida, chap pastki qismdagi "Yangi" tugmasini bosish orqali yangi tetikni yarating, yangi ochilgan oynada kerakli konfiguratsiyani tanlang, men kirishni tanladim va har soatda takrorlashni tanladim. har soatda mening ishimning zaxira nusxasi bor. OK ni bosing.
  5. "Amallar" yorlig'ida xuddi shu tarzda yangi harakat yarating. Bizga kerak bo'lgan narsa - standart dasturni ishga tushirish. Biz ilgari yaratgan bajariladigan faylni ko'rib chiqing va tanlang. ESLATMA:- agar siz vazifani yaratgandan so'ng, bajariladigan faylni ko'chirsangiz, vazifa va shuning uchun sinxronizatsiya bajarilmaydi.
  6. "Shartlar" yorlig'ida quvvat sozlamalarini tekshiring, shunda u batareyada ishlaydi va rozetkaga ulanadi.
  7. OK ni bosing va siz o'z vazifangizni yaratdingiz.

Kompyuterni qayta ishga tushiring va bir muncha vaqt o'tgach, maqsadli papkaning joylashishini tekshiring va sinxronlash ishlaganini ko'ring, agar sizda katta papka bo'lsa, sinxronizatsiya barcha papkalarni birinchi marta nusxalash uchun biroz vaqt ketishi mumkin.

Bu to'liq darslik, umid qilamanki, siz uni foydali deb topasiz, har qanday savol bo'lsa, menga xabar bering.

5 -qadam: 15 -JAN 2020 YANGILASh - Dasturni yuklab olish

Men hanuzgacha o'zimga yaxshi xizmat ko'rsatgan ushbu dasturdan foydalanaman, lekin odamlar menga har xil papkalarni qo'lda sinxronlashni bir marta bajarishni so'rashadi. Shuning uchun men ushbu ko'rsatmani ishni bajarish uchun men yaratgan dasturga havola bilan yangilayman deb o'yladim.. Odamlar sinxronlash ishlaridan birini osonlikcha bajarishlari uchun u foydalanuvchi interfeysini taqdim etadi. Dasturni Github -dan yuklab olish mumkin.

Tavsiya: