اگر قادر نیستی خود را بالا ببری ،همانند سیب باش تا با افتادنت اندیشه ای بالا برود.

جستجو در یک فایل

نوشته شده توسط :سعید كلانتری
چهارشنبه 29 فروردین 1397-05:12 ب.ظ

جستجو در یک فایل در لینوکس به روشهای مختلف انجام می گردد

من می خوام یه روش خاص رو بگم

اول از دستور wc -l  می توان برای دست اوردن تعداد خطوط یک فایل استفاده کرد

سپس با دستور grep -n word file  متوان شماره خطی را که کلمه word در فایل file است را پیدا کنی

مثلا فرض کنیم اولین بار در خط شماره 1000 است

می توانیم با دستور  head -1000 file>file2   هزار خط اول را برداریم و بریزیم توی یک فایلی. یا اگر کل فایل 3000 خط بود با دستور tail -2000 file > file2

از خط هزار تا اخر را بریزیم توی فایل


موفق باشید


دانلود رایگان سوالات کارشناسی رسمی دادگستری

نوشته شده توسط :سعید كلانتری
سه شنبه 8 اسفند 1396-11:32 ق.ظ


سلام از لینک های  زیر می توانید سوالات کارشناسی رسمی دادگستری را به رایگان دانلود کنید.
لازم به ذکر است که ظاهرا دو منبع سوال و دو مرکز ازمون گیر وجود  دارد که من هردو برای دانلود می گذارم. ولی اونیکه این دوره مد نظر است لینک اول است

لینک دانلود سوالات 81-83-85-90-93


لینک دانلود سوالات 84-90


معرفی یک ربات سودمند

نوشته شده توسط :سعید كلانتری
شنبه 28 بهمن 1396-05:30 ب.ظ

به جرات می توان گفت که شبکه اجتماعی تلگرام امروزه محبوب ترین شبکه اجتماعی کشور است و قابلیتهای منحصر بفردی هم دارد که در شبکه های دیگر به این صورت پیاده سازی نشده است.

یک از قابلیتها امکان ایجاد و توسعه ربات های تلگرامی است. برخلاف تبلیغات افراد ناآگاه که سعی کردند رباتها را ابزاری برای هک جلوه دهند ، رباتها ابزاری مفید برای تعامل با کاربران و ایجاد سرویسهای مناسب هستند.

لازم به ذکر است که رباتها هیچ توانایی برای هک کردن ندارند ، هیچ دسترسی ناخواسته ای ایجاد نمی کنند و هیچ خطری برای کاربران ندارند.

یکی از نقاط قوت و یا ضعف رباتها هم در این است که تا شما انها را استارت نکرده باشید ، نمی توانند هیچ پیامی را برای شما ارسال کنند.

در این مطلب می خواهیم یک ربات مناسب را به شما معرفی کنیم. رباتی که در صورت استفاده از ان می توان به عنوان ابزاری برای ساماندهی روابط در تلگرام از آن استفاده کرد.

مشکلی که در روابط دنیای مجازی وجود دارد، عدم اعتماد به حرفهای طرف مقابل است. همچنین مشکل عدم آگاهی نیز وجود دارد. که این دو موجب می شود که نتوانیم به صحت اطلاعات طرف مقابل اعتماد کنیم و یا آنها را رد کنیم . بازرترین مثال این است که یک فرد متاهل می تواند خود را مجرد معرفی کند و  و یا اینکه یک مرد یا دختر می تواند همزمان با چند نفر طوری چت کند و برخورد کند که هریک فرد کنند فقط قصد ازدواج با انها را دارد.

ربات @REL_CHECK_BOT برای جلوگیری از این کار است. این ربات می تواند تا حدی روابط موازی را کاهش دهد و یا حداقل در مورد ان به افراد آگاهی بخشی کند.

 روش کار این ربات به این صورت است که شما در ابتدا عضو این ربات می شوید. همسر و یا دوست خود را نیز عضو این ربات می کنید.

سپس نوع رابطه خود را با طرف مقابل به ربات اعلام می کند. ربات یک پیام به شخص مقابل می دهد و از ایشان تایید می گیرد. اگر فرد مقابل تایید کند این رابطه ثبت می شود و قابل استعلام خواهد بود. اگر تایید نکند و تکذیب کند ، شخص اول می فهمد که ریگی به کفش طرف مقابل است.

رابطه های قابل تایید در این ربات عبارت است از : دوست ساده، دوست اجتماعی ، رفیق فابریک، ازدواج سفید، نامزد، عقد کرده ، همسر، همسر و مادر بچه ها و همسر سابق است.

این ربات برای کسانی که هنوز ازدواج نکرده اند نیز بسیار مفید است و ابزاری است برای سنجش مقدار علاقه و جدیت طرف مقابل در رابطه. در صورتیکه طرف مقابل خود را خیلی جدی نشان می دهد ولی حاضر نمی شود در ربات این را ثبت کند، یعنی انقدر که می گوید جدی نیست.

و در صورتیکه ثبت کند ، دیگر نمی تواند به کس دیگری هم این را بگوید چون آن شخص می تواند  با استعلام  شود.

مشخصه و ویژگی که در این ربات برای استعلام و ثبت رابطه استفاده می شود ، شماره تلفن است. زیرا  ثابت ترین ویژگی فرد در تلگرام است. و البته لازم به ذکر است که این ربات نمی تواند جلوی همه انواع خیانتها و کلکها را بگیرد. مثلا اگر فرد شماره تلفن خود را عوض کند و یا چند خط داشته باشد ، ازین ربات کاری بر نمی آید. بلکه فقط می تواند استعلام خط هایی را که دارد بدهد.

برنامه نویس این ربات در نظر دارد قابلیتهایی مثل دوست یابی برای کسانیکه با هیچکس در رابطه نیستند و یا ارائه استعلام دقیق تر ، زمانیکه استعلام کننده خودش در رابطه با فرد استعلام شونده است بکند. البته این برنامه اینده تیم طراحی است.

ادرس ربات 

یک وب سرور ساده یا پایتون

نوشته شده توسط :سعید كلانتری
سه شنبه 3 بهمن 1396-03:59 ب.ظ

python -m SimpleHTTPServer 8000

دونکنه کوچک

نوشته شده توسط :سعید كلانتری
شنبه 30 دی 1396-09:44 ق.ظ

ساخت یه وب سرور سریع با پایتون فقط با کامند زیر

python -m SimpleHTTPServer 8000


و برنامه و روشی که باآن بد یو اس بی تولید می کنند به نام H I D در reverse engineering



دستورات مفید در grep

نوشته شده توسط :سعید كلانتری
چهارشنبه 27 دی 1396-05:44 ب.ظ

 پارامترهای

-A = after
-B = before
-C = before and after

تعداد خطهای قبل و بعد یا هردو رو نشان می دهد

دستور   -n شماره خطی را که پیدا کرده برمی گرداند
و پارامتر -c تعداد پیدا شده ها را نشان می دهد.

با دستور -e هم می توان چند تا رشته را باهم سرچ کرده مثل

grep -e str1 -e str2 ... path/file


راستی -v  هم متنی را که وجود دارد را سرچ نمی کند


تجربه پرورش مرغ و بلدرچین

نوشته شده توسط :سعید كلانتری
سه شنبه 12 دی 1396-10:33 ق.ظ

مدتی پیش که خونه مون رو عوض کردیم و رفتیم به یه خونه که حالت دربست داشت و پشت بوم در اختیارم بود، تصمیم گرفتم در پشت بودم پرورش مرغ و بلدرچین و کبوتر و ازین جور چیزها بزنم.

ولی خوب ادم نباید بی تجربه دست به کار بشه ولی من با اینکه تجربه کمی داشتم دست به کار شدم.

اولش یه اتاق 12 متر ( 3 در 4 ) اهنی درست کردم و دورش رو توری کشیدم. این اتفاقها از ابان ماه حدودا شروع شد. لذا هوا هم سرد بود.
بد دیدم سرده ، دورش رو یک چوبهایی که از درهای ضایعاتی پیدا کرده بودم که دیوار کشیدم. همچنین روی سقفش هم با چوبهای ضایعاتی پوشوندم.

بعدش حتی یه لایه نایلون دورش و رو سقفش کشیدم.

ولی خوب این عایق بندی ها مرحله به مرحله انجام شد. و یکباره نبود.

اینکه در ابتدا کار نهایی رو انجام بدی و بهتره  ولی خوب کسی مثل من هم بی تجربه بود و کم کم فهمید باید چکار کنه.

در ابتدا من 14 عدد جوجه یه روزه و 12 عدد بلدرچین و 2 عدد مرغ و 2 عدد کبوتر خریدم.

و خواستم اینها رو کنار هم بزرگ کنم.

به مرور و خیلی زود جوجه ها بر اثر سرما و عوامل ناشناخته دیگه فوت کردند.

بعد از یه مدتی مرغها و بلدرچینها به تخم امدند. وضعیت تخم گذاشتن مرغها بسیار نامرتب بود. وضعیت تخم گذاشتن بلدرچینها هم همینطور.

راستی کبوترها هم از یه فرصت استفاده کردند و فرار کردند.

بعد تعداد مرغها رو بیشتر کردم. این موجب شد که تعداد تخم گذاشتن مرغها کم شود( فکر کنم باهم وارد دعوا و استرس شدند). از طرفی این مرغهای جدید به بلدرچینها هم آسیب می رسانند. و سه تا از انها راهم کشته اند.


نتیجه گیری : اگر به فکر راه اندازی پرورش مرغ و یا بلدرچین و هر چیز دیگری هستید :
1 : جای مناسب نقش بسزایی در کاهش تلفات دارد
2 : حتما برای نژآد مناسب هزینه کنید و با خرید و نگهداری نژاد بدرد نخور وقت خود را تلف نکنید
3 : بصورت مداوم سیتسم را مورد بازنگری قرار دهید و بهبود مستمر داشته باشید

بلدرچین ها کم کم تلفات دادند.




36 مثال دستور find در لینوکس

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:23 ب.ظ

یکی از دستورات مهم و کاربردی لینوکس دستور find در لینوکس است. کاربرد آن پیدا کردن لیستی از فایل ها و دایرکتوری ها ( پوشه ها ) بر اساس شرایط خاصی که شما مشخص می کنید می باشد.

مانند جستجو فایل با توجه به سطح دسترسی ، کاربران ، گروه ها ، نوع فایل ، تاریخ ، اندازه و دیگر معیار های ممکن

دستور find در لینوکس


ادامه مطلب

جدول نمونه قالب بندی رشته

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:19 ب.ظ


 عدد 

قالب   

 خروجی    

 توضیح 

3.1415926

{:.2f} 

3.14

  2 رقم اعشار    

3.1415926

{:+.2f} 

+3.14

  2 رقم اعشار با علامت 

-1

{:+.2f} 

-1.00

  2 رقم اعشار با علامت 

2.71828

{:.0f} 

3

  بدون رقم اعشار

5

{:0>2d} 

05

تعداد فاصله با x (فاصله از لبه چپ، با عرض 2)  

5

{:x<4d} 

5xxx 

تعداد فاصله با x (فاصله از لبه راست، با عرض 4)  

10

{:x<4d} 

10xx 

تعداد فاصله با x (فاصله از لبه راست، با عرض 4) 

1000000

{:,} 

1,000,000

شماره قالب با جداکننده کاما

0.25

{:.2%} 

25.00%

درصد فرمت

1E+09

{:.2e} 

1.00e+09

نماد توان

13

{:10d} 

        13

 ترازبندی از راست (پیش فرض، با عرض 10)

13

{:<10d} 

13        

ترازبندی از چپ (با عرض 10)

13

{:^10d} 

    13    

تراز وسط قرار دادن  (با عرض 10)



جدول قالب بندی رشته

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:17 ب.ظ


نماد

توضیحات

b

تغییرشکل یک عدد صحیح به باینری

c

یک عدد داده می شود ، کاراکتری که آن کد را دارد، نمایش می دهد

d

یک عدد را بصورت اعشاری نمایش می دهد (پایه 10).

e

یک مقدار اعشاری را با استفاده از فرمت نمایی نمایش می دهد.

E

همانند e، اما از "E" بزرگ در توان استفاده می کند.

f

تغییر فرمت یک عدد به شکل یه عدد با ممیز ثابت

g

فرمت کلی عدد: از f یا g، هرکدام که مناسبند استفاده می کند.

G

مانند "g"، اما از "E" بزرگ در فرم نمایی استفاده می کند.

n

برای قالب بندی اعداد، این فرمت با استفاده از تنظیمات محلی موجود، کاراکترها را جدا از هم قرار می دهد.

o

یک عدد صحیح را در فرمت مبنای 8 نشان می دهد.

x

یک عددصحیح را در مبنای 16 نمایش می دهد. ارقام بزرگتر از 9 بعنوان حروف کوچک نمایش داده می شوند.

X

یک عددصحیح را در مبنای شانزده نمایش می دهد. ارقام بزرگتر از 9 بعنوان حروف بزرگ نمایش داده می شوند.

%

یک عدد صحیح را بعنوان یک درصد نمایش می دهد: مقدار آن با 100 ضرب شده، توسط یک کاراکتر "%" نمایش داده می شود.

 

توابع و متد های رایج فایل

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:15 ب.ظ


متد ها و توابع

توضیحات

open()

یک فایل را باز می کند و اغلب موارد، با دو آرگومان استفاده می شود:

file.close()

فایل را می بندد.

file.read([size])  

کل فایل را میخواند. اگر size مشخص شده  باشد، پس به اندازه کاراکتر تعیین شده در  size از فایل می خواند.

file.readline([size])

یک خط از فایل را می خواند. اگر size مشخص شده  باشد، پس به اندازه کاراکتر تعیین شده در  size از فایل می خواند.

file.readlines([size]) 

تمام خطوط از فایل را می خواند و لیستی از خطوط برمی گرداند. اگر size مشخص شده  باشد، پس به اندازه کاراکتر تعیین شده در  size از فایل می خواند.

file.write()

محتوای رشته را در فایل می نویسد، تعداد کاراکترهای نوشته شده را برمی گرداند.

file.tell()

یک عدد صحیح برمی گرداند که موقعیت کنونی شی (Pointer) در فایل را می دهد

file.seek()

موقعیت شی فایل (Pointer) را تغییر می دهد

 



حالتهای فایل در پایتون

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:14 ب.ظ

حالت


توضیح
r فایل را تنها برای خواندن آن باز می‌کند. این حالت پیش فرض است
rb فایل را تنها برای خواندن در فرمت باینری باز می‌کند.
r+ فایل را برای خواندن و نوشتن باز می‌کند. 
rb+ فایل را برای خواندن و نوشتن در فرمت باینری باز می‌کند. 
w فایل را تنها برای نوشتن باز می‌کند. اگر فایل وجود داشته باشد آن را بازنویسی (overwrite) می‌کند. اگر فایل وجود نداشته باشد آن را ایجاد می‌کند.
wb فایل را تنها برای نوشتن در فرمت باینری باز می‌کند.
w+ فایل را برای خواندن و نوشتن باز می‌کند. اگر فایل وجود داشته باشد آن را بازنویسی (overwrite) می‌کند. اگر فایل وجود نداشته باشد آن را ایجاد می‌کند.
wb+ فایل را برای خواندن و نوشتن در فرمت باینری باز می‌کند. 
a فایل را برای پیوست (appending) باز می‌کند. اگر فایل وجود داشته باشید اشاره‌گر آن در انتهای فایل وجود دارد. 
ab فایل را برای پیوست (appending) در فرمت باینری باز می‌کند.
a+ فایل را برای پیوست (appending) و خواندن باز می‌کند.
ab+ فایل را برای پیوست (appending) و خواندن باز می‌کند.


متد های دیکشنری در پایتون

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:09 ب.ظ

مثال هایی از متد های رشته ها (ادامه)

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-06:02 ب.ظ


در این قسمت، به ادامه ارائۀ نمونه های بیشتری از متد های رشته ها می پردازیم.

یادآوری: براکت ها (کروشه ها) نشانگر آرگومانهای اختیاری هستند.

str.join(iterable )

این متد، یک رشته را برمی گرداند که الحاق رشته ها در iterable است. اگر هیچ مقدار غیر رشته ای در iterable وجود نداشت، یک TypeError مطرح می شود که شامل اشیاء بایت ها است. جداکننده  بین عناصر این متد وجود دارد.

>>> sign = "+"                                  

>>> my_list = ["One", "Two", "Three", "Four"]   

>>> new_string = sign.join(my_list)      
>>> new_string

نتیجه بصورت زیر خواهد بود:

'One+Two+Three+Four'

str.ljust(width[, fillchar])

این متد، رشته چپ چین شده به طول width را برمی گرداند. Padding با استفاده از fillchar مشخص شده انجام می شود (بطور پیش فرض Space  است). اگر width کمتر یا مساوی با len(s) باشد، رشته اصلی برگردانده می شود.

>>> my_string = "unjustified text"                        # Create a String

>>> new_string = my_string.ljust(2*len(my_string), "X")   # left justify, fit within 2*len of string, fill with X

>>> new_string                                      

نتیجه بصورت زیر خواهد بود:

'unjustified textXXXXXXXXXXXXXXXX'

str.lower()

این متد، یک کپی از رشته که تمام کاراکترهای آن تبدیل به حروف کوچک شده را برمی گرداند.

>>> my_string = "sTrInG mEtHoDs"               # Create a String

>>> new_string = my_string.lower()             # Return the lowercased string

>>> new_string                                 # Check to see what was returned   

نتیجه بصورت زیر خواهد بود:

'string methods'


ادامه مطلب

متد های رشته ها همراه با مثال

نوشته شده توسط :سعید كلانتری
سه شنبه 28 آذر 1396-05:59 ب.ظ


همچون بسیاری از انواع از پیش ساخته شده در پایتون، رشته ها نیز تعدادی متد مفید و قدرتمند دارند. در این صفحه، نمونه هایی نشان می دهیم از اینکه چگونه برخی از آنها استفاده می شوند.

** به یاد داشته باشید: براکت نشان دهنده آرگومان های اختیاری است.**

str.capitalize( )

این متد، یک کپی از اولین کاراکتر با حروف بزرگ و بقیه کاراکترها را با حروف کوچک برمی گرداند.

>>> my_string = "sTrInG mEtHoDs"                # Create a string

>>> new_string = my_string.capitalize()         # Capitalize 1st, lower rest & return

>>> new_string                            

نتیجه بصورت زیر خواهد بود:

'String methods'

str.casefold( )

این متد،  یک مورد کپی شده (casefolded) از رشته را برمی گرداند. رشته های casefolded ممکن است برای تطبیق  caseless (موارد فاقد این امر) استفاده شوند. Casefolding مشابه با lowercasing است اما جامع تر است زیرا تمام موارد متمایزدر یک رشته را حذف کند.

>>> my_string = "sTrInG mEtHoDs"               # Create a String

>>> new_string = my_string.casefold()          # Return a casefolded copy

>>> new_string                              

نتیجه بصورت زیر خواهد بود:

'string methods'

str.center(width[, fillchar])

این متد ، دوطرف رشته S را با کاراکتر دریافت شده (fillchar) به اندازه width تعیین شده پر می کند و S را در وسط قرار می دهد. (بطور پیش فرض fillchar کاراکتر Space – فضای خالی - است)

>>> my_string = "sTrInG mEtHoDs"               # Create a String

>>> new_string = my_string.center(20, 'x')     # Center in 20 spaces, fill spaces with 'x' & return

>>> new_string                             

نتیجه بصورت زیر خواهد بود:

'xxxsTrInG mEtHoDsxxx'

str.count(sub[, start[, end]])

این متد تعداد تکرارهای sub بین نقطه شروع و پایان را شمارش می کند .آرگومانهای شروع و پایان اختیاری هستند.

>>> my_string = "this is python. It is awesome!"     # Create a String

>>> my_count = my_string.count('is', 0, -1)          # count occurrences of'is' and return

>>> my_count                                    

نتیجه بصورت زیرخواهد بود:

3

str.endswith(suffix[, start[, end]])

این متد، اگر رشته با پسوند مشخصی به پایان می رسد، مقدار True را برمی گرداند، درغیر اینصورت False را برمی گرداند. همچنین پسوند می تواند یک چندتایی از پسوند را به دنبال داشته باشد. با شروع اختیاری، تست در آن موقعیت آغاز می گردد. با پایان اختیاری، مقایسه در آن موقعیت متوقف می گردد.

>>> my_string = "we love python"              # Create a String

>>> my_value = my_string.endswith('python')   # Return a boolean

>>> my_value                        

نتیجه بصورت زیر خواهد بود:

True

str.find(sub[, start[, end]])

این متد کمترین index رشته که در آن sub یافت می شود را برمی گرداند طوریکه sub در قطعه s[start:end] شامل می شود. آرگومانهای شروع و پایان اختیاری هستند . اگر sub یافت نشود، این متد مقدار -1 بر می گرداند.

>>> my_string = "we love python"        # Create a String

>>> my_index = my_string.find('o')      # Return the lowest index where substring was found

>>> my_index                          

نتیجه بصورت زیرخواهد بود:

4

str.format(*args, **kwargs)

این متد، یک عملیات قالب بندی رشته را انجام می دهد. رشته ای که درآن، این متد فراخوانی می شود، می تواند یک متن باشد که دارای یک سری آکولاد {} است. هر فیلد جایگزینی که با آکولاد {} نشان داده می شود، شامل ایندکس عددی متناظر با آن در تابع است. این متد، یک کپی از رشته را برمی گرداند که در آن هر فیلد جایگزینی، با مقدار رشته آرگومان متناظر در تابع format جایگزین می گردد.

>>> a = 10       

>>> b = 30       
>>> my_sum = a + b
>>> my_product = a * b

>>> "The sum of a and b is {0} and their product is {1}".format(my_sum, a*b)

نتیجه بصورت زیر خواهد بود:

'The sum of a and b is 40 and their product is 300'

str.index(sub[, start[, end]])

این متد، کمترین ایندکس در رشته  اولیه که در زیررشته sub یافت می شود را برمی گرداند طوری که زیررشته sub در محدوده s[start:end] قرار گرفته است. آرگومانهای شروع و پایان اختیاری هستند. این متد بسیار شبیه به str.find است،  تنها تفاوت دو متد با هم این است که اگر زیر رشته یافت نشود، یک ValueError رخ می دهد.

>>> my_string = "we love python"        # Create a String

>>> my_index = my_string.index('o')     # Return lowest index at which the substring was found 

>>> my_index                            # Check to see what was returned   

نتیجه بصورت زیر خواهد بود:

4

str.isalnum()

اگر تمام کاراکترها در رشته، عدد و الفبا هستند این روش True را برمیگرداند و حداقل یک کاراکتر وجود دارد ، درغیر اینصورت False را بر میگرداند.

>>> my_string_1 = "StarWars2016"              # Notice there is no space
>>> my_string_2 = "I love star wars 2016"     # This string contains spaces

>>> check_1 = my_string_1.isalnum()           # Returns a Boolean value
>>> check_2 = my_string_2.isalnum()           # Returns a Boolean value

>>> "check_1 is: {0} and check_2 is: {1}".format(check_1, check_2)   # Check to see what was returned   

نتیجه  بصورت زیر خواهد بود:

'check_1 is: True and check_2: is False'

***چند متد دیگرشبیه به ()str.isalnum که برخی از آنها مقدار Boolean برمی گردانند، به شرح زیر هستند:***


ادامه مطلب



درباره وبلاگ:



آرشیو:


طبقه بندی:


آخرین پستها:


پیوندها:


پیوندهای روزانه:


صفحات جانبی:


نویسندگان:


ابر برچسبها:


آمار وبلاگ:







The Theme Being Used Is MihanBlog Created By ThemeBox