بیشتر مشاغل دارای وظایف تکراری هستند که می توانید به صورت خودکار انجام دهید ، که برخی از زمان ارزشمند شما را آزاد می کند. این باعث می شود اتوماسیون یک مهارت کلیدی برای به دست آوردن باشد.
گروه کوچکی از مهندسین اتوماسیون ماهر و کارشناسان دامنه ممکن است بتوانند بسیاری از خسته کننده ترین کارهای کل تیم ها را خودکار کنند.
در این مقاله ، اصول اولیه اتوماسیون گردش کار را با استفاده از پایتون بررسی خواهیم کرد - یک زبان برنامه نویسی قدرتمند و آسان برای یادگیری. ما از Python برای نوشتن یک اسکریپت اتوماسیون کوچک آسان و مفید استفاده خواهیم کرد که یک پوشه معین را تمیز می کند و هر پرونده را در پوشه مطابق آن قرار می دهد.
هدف ما نوشتن کد کامل یا ایجاد معماری ایده آل در ابتدا نخواهد بود. ما همچنین هیچ چیز "غیرقانونی" نخواهیم ساخت. در عوض ، ما به چگونگی ایجاد اسکریپتی که به طور خودکار یک پوشه معین و تمام پرونده های آن را تمیز می کند ، خواهیم دید.
فهرست مطالب
اتوماسیون ساده
اتوماسیون API عمومی
مهندسی معکوس API
مناطق اتوماسیون و از کجا شروع شود
بیایید با تعریف اینکه چه نوع اتوماسیون وجود دارد ، شروع کنیم.
هنر اتوماسیون در بیشتر بخش ها اعمال می شود. برای مبتدیان ، به کارهایی مانند استخراج آدرس های ایمیل از یک دسته از اسناد کمک می کند تا بتوانید یک انفجار ایمیل انجام دهید. یا رویکردهای پیچیده تر مانند بهینه سازی گردش کار و فرآیندهای موجود در شرکتهای بزرگ.
البته رفتن از اسکریپت های شخصی کوچک به زیرساخت های اتوماسیون بزرگ که جایگزین افراد واقعی می شود ، شامل فرایندی برای یادگیری و بهبود است. بنابراین بیایید ببینیم از کجا می توانید سفر خود را شروع کنید.
اتوماسیون ساده
اتوماسیون ساده امکان ورود سریع و ساده را فراهم می کند. این می تواند فرآیندهای مستقل کوچکی مانند پاکسازی پروژه و ساختار مجدد پرونده ها در داخل دایرکتوری ها یا بخش هایی از گردش کار مانند تغییر خودکار پرونده های موجود در حال حاضر ذخیره شده را پوشش دهد.
اتوماسیون API عمومی
اتوماسیون های عمومی API رایج ترین شکل اتوماسیون است زیرا ما می توانیم با استفاده از درخواست های HTTP به APIS امروزه به بیشترین عملکرد دسترسی پیدا کنیم. به عنوان مثال ، اگر می خواهید آبیاری باغ هوشمند خود ساخته خود را در خانه خودکار کنید.
برای انجام این کار ، شما می خواهید آب و هوای روز جاری را بررسی کنید تا ببینید که آیا شما نیاز به آب دارید یا اینکه باران وارد شده است.
مهندسی معکوس API
اتوماسیون مبتنی بر مهندسی معکوس API در ربات های واقعی و بخش "Bot Imposter" نمودار در بخش "ملاحظات اخلاقی" در زیر رایج است.
با مهندسی معکوس یک API ، جریان کاربر برنامه ها را درک می کنیم. یک مثال می تواند ورود به یک بازی مرورگر آنلاین باشد.
با درک فرآیند ورود و تأیید اعتبار ، می توانیم آن رفتار را با اسکریپت خودمان کپی کنیم. سپس ما می توانیم رابط خودمان را ایجاد کنیم تا با برنامه کار کنیم حتی اگر خودشان آن را ارائه ندهند.
هر رویکردی که به آن هدف دارید ، همیشه در نظر بگیرید که آیا این قانونی است یا نه.
شما نمی خواهید خود را به دردسر بیاورید ، مگر نه؟؟
ملاحظات اخلاقی
بعضی از افراد در GitHub یک بار با من تماس گرفتند و این را به من گفتند:
این با من گیر کرده و باعث شد ابزاری که دقیقاً برای آن منظور ساخته ام ، زیر سوال ببرد.
این واقعیت که این تعامل و درگیری می تواند به صورت خودکار و "جعلی" بیشتر و بیشتر منجر به یک سیستم رسانه های اجتماعی تحریف شده و شکسته شود.
افرادی که محتوای ارزشمند و خوبی تولید می کنند ، در صورت عدم استفاده از ربات ها و سایر سیستم های نامزدی ، برای سایر کاربران و شرکت های تبلیغاتی نامرئی هستند.
یکی از دوستانم با "نه محافل جهنم" دانته که با هر قدم به یک تأثیرگذار اجتماعی نزدیکتر می شوید ، ارتباط زیر را به دست آورد ، کمتر و کمتر آگاه می شوید که این سیستم در واقع چقدر شکسته است.
من می خواهم این را در اینجا با شما به اشتراک بگذارم زیرا فکر می کنم این یک نمایش بسیار دقیق از آنچه که من شاهد آن بودم در حالی که به طور فعال با تأثیرگذار با Instapy کار می کردم ، است.
سطح 1: Limbo - اگر شما در همه سطح 2 ربات نمی دهید: معاشقه - وقتی به صورت دستی دوست دارید و به همان اندازه افراد می توانید دنبال کنید تا آنها را دنبال کنید تا شما را دنبال کنند / مانند پست های خود سطح 3: توطئه - هنگام پیوستن بهگروه تلگرام برای 10 عکس دوست دارید و اظهار نظر کنید تا 10 نفر بعدی در مورد عکس شما سطح 4: خیانت - وقتی از یک دستیار مجازی کم هزینه استفاده می کنید و از طرف خود سطح 5: شهوت - هنگام استفاده استفاده می کنید و دنبال کنید ، اظهار نظر کنید. یک ربات برای لایک کردن ، و در عوض هیچ لایک دریافت نکنید (اما شما آن را پرداخت نمی کنید - به عنوان مثال ، یک پسوند کروم) سطح 6: Promiscuity - هنگامی که از یک ربات استفاده می کنید تا 50+ دوست داشته باشید50+ لایک ، اما شما هزینه آن را پرداخت نمی کنید - به عنوان مثال ، یک سطح پسوند کروم 7: Avarice یا Extreme Greed - وقتی از یک ربات استفاده می کنید تا بین 200 تا 700 عکس را دوست داشته باشید / دنبال کنید / نظر می دهید ، و این شانس دریافت را نادیده می گیرد. ممنوعیت سطح 8: فحشا - وقتی یک سرویس شخص ثالث ناشناخته را پرداخت می کنید تا در لایک های متقابل خودکار شرکت کنید / برای شما دنبال می شود ، اما آنها از ACCOU شما استفاده می کنندNT برای دوست داشتن / دنبال کردن سطح 9: کلاهبرداری / بدعت - وقتی دنبال کننده ها را خریداری می کنید و دوست دارید و سعی می کنید خود را به عنوان یک تأثیرگذار به مارک ها بفروشید
سطح بوت شدن در رسانه های اجتماعی چنان رواج دارد که اگر ربات نکنید ، در سطح 1 ، لنگو ، بدون رشد پیروان و درگیری کم نسبت به همسالان خود گیر خواهید کرد.
در تئوری اقتصادی ، این به عنوان معضل زندانی و بازی جمع صفر شناخته می شود. اگر من ربات نمی دهم و شما ربات می دهید ، شما برنده می شوید. اگر شما ربات نمی دهید و من ربات می دهم ، من برنده می شوم. اگر هیچ کس ربات می دهد ، همه برنده می شوند. اما از آنجا که هیچ انگیزه ای برای همه وجود ندارد که ربات ندهند ، همه رباتها هستند ، بنابراین هیچ کس برنده نمی شود.
منبع: signalscience. com
ما می خواهیم از برخورد با پیامدهای اخلاقی خودداری کنیم و هنوز هم در یک پروژه اتوماسیون در اینجا کار کنیم. به همین دلیل است که ما یک اسکریپت پاکسازی دایرکتوری ساده ایجاد خواهیم کرد که به شما در سازماندهی پوشه های کثیف خود کمک می کند.
ایجاد یک اسکریپت پاکسازی دایرکتوری
اکنون می خواهیم به یک اسکریپت کاملاً ساده نگاه کنیم. این دستگاه به طور خودکار با جابجایی آن پرونده ها بر اساس پسوند پرونده ، یک دایرکتوری معین را تمیز می کند.
بنابراین تنها کاری که می خواهیم انجام دهیم این است:
تنظیم استدلال تجزیه کننده
از آنجا که ما در حال کار با عملکرد سیستم عامل مانند فایل های متحرک هستیم ، باید کتابخانه سیستم عامل را وارد کنیم. علاوه بر آن ، ما می خواهیم کنترل خود را بر روی چه پوشه ای تمیز کنیم. ما برای این کار از کتابخانه argparse استفاده خواهیم کرد.
پس از وارد کردن دو کتابخانه ، بیایید ابتدا استدلال را تجزیه کنیم. حتماً توضیحات و متن راهنمایی را به هر استدلال اضافه شده ارائه دهید تا در هنگام تایپ کردن ، کمک ارزشمندی به کاربر ارائه دهید.
استدلال ما نامگذاری خواهد ش د-مسیر. خط های مضاعف در مقابل نام به کتابخانه می گویند که این یک استدلال اختیاری است. به طور پیش فرض می خواهیم از دایرکتوری فعلی استفاده کنیم ، بنابراین مقدار پیش فرض را تنظیم کنید "". بشر
این در حال حاضر بخش تجزیه و تحلیل استدلال را تمام می کند - بسیار ساده و قابل خواندن است ، درست است؟
بیایید اسکریپت خود را اجرا کنیم و خطاها را بررسی کنیم.
پس از اعدام ، می توانیم نام دایرکتوری را که به کنسول چاپ می شود ، کامل کنیم. اکنون بیایید از کتابخانه سیستم عامل برای دریافت پرونده های مسیر داده شده استفاده کنیم.
دریافت لیستی از پرونده ها از پوشه
با استفاده از روش os. listdir (مسیر) و ارائه یک مسیر معتبر ، لیستی از تمام پرونده ها و پوشه های موجود در آن فهرست را دریافت می کنیم.
پس از لیست همه عناصر موجود در پوشه ، می خواهیم بین پرونده ها و پوشه ها تمایز قائل شویم زیرا نمی خواهیم پوشه ها را تمیز کنیم ، فقط پرونده ها.
در این حالت ، ما از یک درک لیست پایتون برای تکرار از طریق همه عناصر استفاده می کنیم و در صورت برآورده شدن نیاز به پرونده یا پوشه ، آنها را در لیست های جدید قرار می دهیم.
مثل همیشه ، بیایید اطمینان حاصل کنیم که کاربران ما بازخورد دریافت می کنند. بنابراین یک عبارت چاپی را اضافه کنید که نشانگر جابجایی تعداد پرونده ها به کاربر است.
پس از اجرای مجدد اسکریپت پایتون ، اکنون می توانیم ببینیم که پوشه /تست که من ایجاد کردم شامل 60 پرونده است که منتقل می شوند.
ایجاد یک پوشه برای هر پسوند فایل
مرحله بعدی و مهمتر اکنون ایجاد پوشه برای هر یک از پسوندهای پرونده است. ما می خواهیم این کار را با عبور از همه پرونده های فیلتر شده خود انجام دهیم و اگر آنها دارای پسوند هستند که قبلاً هیچ پوشه ای در آن وجود ندارد ، یکی را ایجاد کنید.
کتابخانه سیستم عامل به ما کمک می کند تا از عملکردهای زیبا تری مانند تقسیم فیله و مسیر یک سند معین استفاده کنیم و مسیر خود و نام سند را استخراج کنیم.
بیانیه BREAK در انتهای کد بالا اطمینان می دهد که اگر فهرست ما شامل ده ها پرونده باشد ، ترمینال ما اسپم نمی شود.
پس از تنظیم این کار ، بیایید اسکریپت خود را اجرا کنیم تا خروجی مشابه این را ببینیم:
اکنون می توانیم ببینیم که اجرای بالا از FileType جدا شده و سپس قطعات را از مسیر کامل استخراج می کند.
از آنجا که اکنون FileType را داریم ، می توانیم بررسی کنیم که آیا پوشه ای با نام این نوع از قبل وجود دارد یا خیر.
قبل از انجام این کار ، ما می خواهیم مطمئن شویم که چند پرونده را رد کنید. اگر از دایرکتوری فعلی استفاده کنیم "."به عنوان مسیر ، ما باید از حرکت خود اسکریپت پایتون خودداری کنیم. یک شرط ساده از آن مراقبت می کند.
علاوه بر آن ، ما نمی خواهیم پرونده های پنهان را جابجا کنیم ، بنابراین بیایید تمام پرونده هایی را که با یک نقطه شروع می شوند نیز درج کنیم. پرونده . ds_store در MACOS نمونه ای از یک فایل پنهان است.
هنگامی که ما از اسکریپت پایتون و پرونده های پنهان مراقبت کردیم ، اکنون می توانیم به سمت ایجاد پوشه های روی سیستم حرکت کنیم.
علاوه بر بررسی ما ، اگر پوشه قبلاً هنگام خواندن محتوای دایرکتوری در آنجا بود ، در ابتدا به راهی برای ردیابی پوشه هایی که قبلاً ایجاد کرده ایم نیاز داریم. به همین دلیل ما لیست Create_folders = [] را اعلام کردیم. این به عنوان حافظه برای ردیابی نام پوشه ها عمل می کند.
برای ایجاد یک پوشه جدید ، کتابخانه OS روشی به نام OS. MKDIR (Folder_Path) را ارائه می دهد که مسیری را طی می کند و یک پوشه با نام داده شده در آنجا ایجاد می کند.
این روش ممکن است یک استثنا را به ما بگوید که پوشه قبلاً وجود دارد. بنابراین بیایید حتماً آن خطا را بدست آوریم.
پس از تنظیم ساخت پوشه ، اجازه دهید دوباره فیلمنامه خود را کشف کنیم.
در اولین اجرای اجرای ، می توانیم لیستی از سیاهههای مربوط را مشاهده کنیم که به ما می گوید پوشه هایی با انواع داده شده از پسوندهای فایل ایجاد شده اند.
انتقال هر پرونده به زیر پوشه سمت راست
آخرین مرحله اکنون این است که در واقع پرونده ها را به پوشه های والدین جدید خود منتقل کنید.
نکته مهمی که باید هنگام کار با عملیات سیستم عامل درک کنید این است که بعضی اوقات عملیات نمی تواند خنثی شود. به عنوان مثال ، این مورد با حذف است. بنابراین معقول است که ابتدا فقط رفتاری را که اسکریپت ما در صورت اجرای آن به دست می آورد ، از بین ببریم.
به همین دلیل است که روش os. rename (.) در اینجا اظهار شده است.
پس از اجرای اسکریپت و دیدن ورود صحیح ، اکنون می توانیم قبل از روش OS. rename () نظر خود را حذف کنیم و نهایی را انجام دهیم.
این اجرای نهایی اکنون تمام پرونده ها را به پوشه های مناسب خود منتقل می کند و فهرست ما بدون نیاز به اقدامات دستی به زیبایی تمیز می شود.
در مرحله بعدی ، اکنون می توانیم از اسکریپتی که در بالا ایجاد کردیم استفاده کنیم و به عنوان مثال ، آن را برای اجرای هر دوشنبه برای تمیز کردن پوشه بارگیری های خود برای ساختار بیشتر برنامه ریزی کنیم.
این دقیقاً همان چیزی است که ما به عنوان پیگیری در دوره ایجاد ربات و اتوماسیون گردش کار ما ایجاد می کنیم.
یک راهنمای کامل برای ایجاد ربات و خودکار کردن کار روزمره
من و فلیکس یک دوره ویدیویی آنلاین ساختیم تا به شما یاد دهیم که چگونه می توانید ربات های خود را بر اساس آنچه ما آموخته ایم ساخت Instapy و Travian-Bot او را ایجاد کنیم. در حقیقت ، او حتی مجبور شد از آنجا که بیش از حد مؤثر بود ، از بین برود.
به سمت راست بپیوندید و یادگیری را شروع کنید.
ویدیوی تبلیغاتی برای دوره Udemy
اگر سوالی یا بازخورد دارید ، احساس راحتی کنید که در توییتر یا مستقیماً در بخش بحث دوره به ما مراجعه کنید؟