On 07Dec2015 13:07, villasc...@gmail.com <villasc...@gmail.com> wrote:
Hello all! Just started getting into Python, and am very excited about the
prospect.
I am struggling on some general concepts. My past experience with server-side code is
mostly limited to PHP and websites. I have some file called "whatever.php",
the browser accesses it, and PHP parses it and returns HTML, JSON, etc. Every now and
then, I need to run some background PHP script, or have some PHP script initiated by a
CRON job, or have some PHP script initiated by the command line running in an endless
loop, and while it works, feel other languages might be more appropriate.
So, my interest in Python...
I've read up on Python, and while some aspects seem similar to PHP, some don't.
I have learned how to create Python script, have run it from the command line,
and have even accessed it with Apache by placing http://example.com/myscript.py
in the browser. I am used to seeing .php extensions, but never .py extentions,
and even visited multiple sites which I knew were written in Python, but never
saw the browser expose the .py extensions. I am obviously missing something.
The most obvious thing is: a well produced website does not expose its
implementation language in the URL. All those .php URLs? Sloppy! Suppose you
wanted to change the implementation and switched languages? All your users'
bookmarks would break!
Why don't I see the .py extension in my browser?
Usually Python is used in a web server via a WSGI plugin and a framework of
some kind (Django, Flask, CheryPy etc). All of these allow you to associate any
URL with any piece of Python code. So you don't have that simple but also
inflexible "map this URL to a specific .php file" model that you have with
typical PHP.
Is Python event driven like PHP, or is it somehow different?
Depends what you mean by "event driven". I suspect you mean "accessing a web
page runs a python program".
A .php file is a kind of macro file: it is ostensibly HTML until one hits the
<?php tag, and then a snippet of PHP runs and usually writes some output into
the HTML stream going back to the browser. You very rarely see PHP
"standalone", used to write command line tools or other things - it is almost
only ever used to generate web page output.
Python is a general purpose language and all manner of things are written in
it. When used in a web server there is usually:
- a WGSI hook into the web server configuration, which causes certain URLs to
be passed to a running Python program for implementation
- a Python program which maps those URLs to particular pieces of code, which
return HTML or other suitable content
How should I view Python differently than PHP?
It is more useful and nicer to work in. For a quick and dirty web page PHP is a
handy tool, but almost entirely for the web. Python is not targeted specificly
at web output.
Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list