۲۴ مطلب با کلمه‌ی کلیدی «پایتون» ثبت شده است

آموزش قدم به قدم دپلوی کردن یک وب اپلیکیشن پایتونی با nginx و uwsgi در دبیان

بعد از درخواست یکی از دوستان در مورد دپلوی کردن(deploy) یک وب اپلیکیشن پایتونی که با جنگو نوشته شده بود،تصمیم گرفتم این مطلب رو بنویسم.اینجا چند چیز را فرض کردم:

  • از فریم‌ورک فلسک استفاده می‌کنید.در مورد جنگو هم البته داستان کمابیش همین هست.در مورد چری‌پای میتونید با همچین راهنمایی پیش برید یا از کارساز(سرور) وب خود چری‌پای به اسم چروت(cheroot) استفاده کنید.
  • از دبیان(یا توزیع‌هایی که بر پایه دبیان ساخته شدن مثل اوبونتو) و systemd استفاده می‌کنید.
  • میخواهید از انجین‌ایکس(nginx) به عنوان کارساز وب یا وب‌سرور استفاده کنید.
  • تنها از HTTP می‌خواهید استفاده کنید و برای سادگی کار فعلا HTTPS را کنار میگزارید.
  • قرار هست وب اپلیکیشن شما در ریشه قرار بگیرد.یعنی از طریق آدرسی مثل https://example.com/ قابل دسترسی باشد نه مثلا https://example.com/somepage

ادامه مطلب...
مجوز مطالب و محتوا ۱۷ شهریور ۰۰ ، ۱۱:۰۰ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

محمد صادق عبداللهی

با پایتون یک ربات سخنگو بنویسید!

شاید در مورد ماژول chatterbot چیزی خوانده باشید یا شنیده باشید.این ماژول برای شما یک چت‌بات که میتواند یاد بگیرد را فراهم می‌سازد و از الگوریتم‌های یادگیری ماشینی استفاده میکند.

ادامه مطلب...
مجوز مطالب و محتوا ۱۰ مهر ۹۹ ، ۱۰:۵۲ ۴ نظر موافقین ۲ مخالفین ۰
فاروق کریمی زاده

نظرات (۴)

علیرضا آهنی
علیرضا آهنی
حمیدرضا اسمعلی

پایتون ۳.۸ و عملگر :=

در پایتون ۳.۸ یک عملگر جدید برای انتصاب معرفی شده است.این عملگر جهت انتصاب در عبارات بزرگتر استفاده می‌شود. مثلا:

a = 10
if (b := a) == 10:
...

در تکه کد بالا هم‌زمان مقدار b برابر مقدار a می‌شود و هم مقایسه انجام می‌شود.

مجوز مطالب و محتوا ۱۳ آبان ۹۸ ، ۱۹:۱۵ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

کلاس توکار complex برای کار با اعداد مختلط در پایتون

complex(real_part=0, imag_part=0)
complex(str)

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

ادامه مطلب...
مجوز مطالب و محتوا ۱۲ مهر ۹۷ ، ۱۹:۱۸ ۱ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

نظرات (۱)

تابع os.urandom در پایتون

os.urandom(n)

تابع os.urandom تعداد n بایت تصادفی برمیگرداند که برای مصارف رمزنگاری و دیگر کاربرد‌ها که اعداد تصادفی با کیفیت‌تر نیاز دارند مناسب است

ادامه مطلب...
مجوز مطالب و محتوا ۱۸ مرداد ۹۷ ، ۱۹:۰۹ ۰ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده

توابع hex،bin و oct در پایتون

این توابع از توابع توکار پایتون هستند و همانطور که از اسمشان مشخص است، یک عدد مبنای ده را به یک رشته که حاوی آن عدد در مبنای ۸،۱۶ یا ۲ است تبدیل میکند. فکر نمیکنم نیاز به توضیح زیادی داشته باشند اما توجه کنید که این توابع یک رشته برمیگردانند. چند مثال:

>>> hex(10)
'0xa'
>>> oct(13)
'0o15'
>>> bin(12)
'0b1100'

مطالب مرتبط:

مجوز مطالب و محتوا ۰۱ ارديبهشت ۹۷ ، ۱۲:۱۷ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

تابع input در زبان پایتون

در زبان پایتون، تابع input از ورودی استاندارد(که بصورت پیشفرض و معمولا صفحه کلید است) تا زمانی که به نویسه‌ی خط جدید نرسیده میخواند و یک رشته(نوع str) با حذف خط جدید برمیگرداند.استفاده از آن بصورت زیر است:

input(prompt='')

prompt یک رشته است که به عنوان یک پیام به کاربر نمایش داده میشود و از کاربر میخواهد تا چیزی وارد کند، در صورتی که ذکر نشود،رشته‌ای خالی است(یعنی چیزی نمایش داده نمیشود). یک مثال:

name = input('What is your name?')
print('Hi,', name)

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

مطالب مرتبط:

مجوز مطالب و محتوا ۱۶ مهر ۹۶ ، ۱۲:۰۰ ۳ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

نظرات (۳)

محمدصالح کامیاب
محمدصالح کامیاب

چطور حجم یک پرونده را بدست بیاوریم؟ + کد پایتون + کد سی + کد پرل

اندی پیش به این فکر میکردم که چطور میتوانم حجم یک پرونده را بدست بیاورم و زیر کاپوت این توابع چه چیزی پنهان است.

برای بدست آوردن حجم یک پرونده، البته بدون توجه به فایل‌سیستم و سیستم‌عامل میتوانیم به این صورت عمل کنیم: اول پرونده را باز میکنیم، سپس اشاره‌گر پرونده را به آخرین بایت آن انتقال میدهیم(معمولا تابعی به اسم seek یا مشابه وجود دارد)، حالا مکان اشاره‌گر را نسبت به اول پرونده بدست می‌آوریم(معمولا تابعی به اسم tell وجود دارد). حجم پرونده را به بایت بدست آورده‌ایم.

ادامه مطلب...
مجوز مطالب و محتوا ۳۰ شهریور ۹۶ ، ۱۲:۳۱ ۰ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

راه‌اندازی یک HTTP سرور کوچک برای محتویات ایستا

چند وقتی بود که این مخزن رو توی گیت‌هاب به لیست علاقه‌مندی ها اضافه کرده بودم، این دستورات برای راه اندازی یک وب سرور ساده‌ی HTTP برای محتویات ایستا هستند(یعنی CGI و PHP و اینا پر!). این سرور ها همه به پورت ۸۰۰۰ گوش میدهند.

  • پایتون ۳
python3 -m http.server 8000
  • پایتون ۲
python -m SimpleHTTPServer 8000
  • روبی
ruby -rwebrick -e'WEBrick::HTTPServer.new(:Port => 8000, :DocumentRoot => Dir.pwd).start'
  • روبی ۱.۹.۲ و بالاتر
ruby -run -ehttpd . -p8000
  • پی اچ پی
php -S 127.0.0.1:8000
  • بیزی‌باکس
busybox httpd -p 8000
  • پاورشل
$Hso=New-Object Net.HttpListener;$Hso.Prefixes.Add("http://+:8000/");$Hso.Start();While ($Hso.IsListening){$HC=$Hso.GetContext();$HRes=$HC.Response;$HRes.Headers.Add("Content-Type","text/plain");$Buf=[Text.Encoding]::UTF8.GetBytes((GC (Join-Path $Pwd ($HC.Request).RawUrl)));$HRes.ContentLength64=$Buf.Length;$HRes.OutputStream.Write($Buf,0,$Buf.Length);$HRes.Close()};$Hso.Stop()

یا اگر خواستید با Command Prompt اجراش بکنید:

PowerShell.exe -nop -enc JABIAHMAbwA9AE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAEgAdAB0AHAATABpAHMAdABlAG4AZQByADsAJABIAHMAbwAuAFAAcgBlAGYAaQB4AGUAcwAuAEEAZABkACgAIgBoAHQAdABwADoALwAvACsAOgA4ADAAMAAwAC8AIgApADsAJABIAHMAbwAuAFMAdABhAHIAdAAoACkAOwBXAGgAaQBsAGUAIAAoACQASABzAG8ALgBJAHMATABpAHMAdABlAG4AaQBuAGcAKQB7ACQASABDAD0AJABIAHMAbwAuAEcAZQB0AEMAbwBuAHQAZQB4AHQAKAApADsAJABIAFIAZQBzAD0AJABIAEMALgBSAGUAcwBwAG8AbgBzAGUAOwAkAEgAUgBlAHMALgBIAGUAYQBkAGUAcgBzAC4AQQBkAGQAKAAiAEMAbwBuAHQAZQBuAHQALQBUAHkAcABlACIALAAiAHQAZQB4AHQALwBwAGwAYQBpAG4AIgApADsAJABCAHUAZgA9AFsAVABlAHgAdAAuAEUAbgBjAG8AZABpAG4AZwBdADoAOgBVAFQARgA4AC4ARwBlAHQAQgB5AHQAZQBzACgAKABHAEMAIAAoAEoAbwBpAG4ALQBQAGEAdABoACAAJABQAHcAZAAgACgAJABIAEMALgBSAGUAcQB1AGUAcwB0ACkALgBSAGEAdwBVAHIAbAApACkAKQA7ACQASABSAGUAcwAuAEMAbwBuAHQAZQBuAHQATABlAG4AZwB0AGgANgA0AD0AJABCAHUAZgAuAEwAZQBuAGcAdABoADsAJABIAFIAZQBzAC4ATwB1AHQAcAB1AHQAUwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAEIAdQBmACwAMAAsACQAQgB1AGYALgBMAGUAbgBnAHQAaAApADsAJABIAFIAZQBzAC4AQwBsAG8AcwBlACgAKQB9ADsAJABIAHMAbwAuAFMAdABvAHAAKAApAA==
  • شل
while true ; do nc -l 8000 < test.html ; done

نسخه پاورشل را خودم امتحان نکرده ام.

منبع و همچنین دستورات بیشتر برای اجرای وب سرور در گیت‌هاب گیست

مجوز مطالب و محتوا ۲۴ ارديبهشت ۹۶ ، ۱۲:۰۰ ۳ نظر موافقین ۱ مخالفین ۰
فاروق کریمی زاده

range در پایتون

range([start,]end)
range(start, end[, step])

تابع range در زبان پایتون یک بازه از اعداد صحیح از start تا end-1 بر میگرداند و در صورتی که start ذکر نشود،بصورت پیشفرض ۰ است.step نیز مشخص میکند که فاصله‌ی اعدادی از هم چقدر باشد و بصورت پیشفرض ۱ هست.

ادامه مطلب...
مجوز مطالب و محتوا ۰۶ فروردين ۹۶ ، ۰۹:۰۰ ۲ نظر موافقین ۰ مخالفین ۰
فاروق کریمی زاده