|
Python Interview Questions and Answers
How do I use Python for CGI?
On the Microsoft IIS server or on the Win95 MS Personal
Web Server you set up Python in the same way that you
would set up any other scripting engine.
Run regedt32 and go to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ScriptMap
and enter the following line (making any specific
changes that your system may need):
.py :REG_SZ: c:\\python.exe -u %s %s
This line will allow you to call your script with a
simple reference like: http://yourserver/scripts/yourscript.py
provided "scripts" is an "executable" directory for your
server (which it usually is by default). The "-u" flag
specifies unbuffered and binary mode for stdin - needed
when working with binary data.
In addition, it is recommended that using ".py" may not
be a good idea for the file extensions when used in this
context (you might want to reserve *.py for support
modules and use *.cgi or *.cgp for "main program"
scripts).
In order to set up Internet Information Services 5 to
use Python for CGI processing, please see the following
links:
http://www.e-coli.net/pyiis_server.html (for Win2k
Server) http://www.e-coli.net/pyiis.html (for Win2k pro)
Configuring Apache is much simpler. In the Apache
configuration file httpd.conf, add the following line at
the end of the file:
ScriptInterpreterSource Registry
Then, give your Python CGI-scripts the extension .py and
put them in the cgi-bin directory.
How do I emulate os.kill() in Windows?
Use win32api:
def kill(pid):
"""kill function for Win32"""
import win32api
handle = win32api.OpenProcess(1, 0, pid)
return (0 != win32api.TerminateProcess(handle, 0))
Why does os.path.isdir() fail on NT shared directories?
The solution appears to be always append the "\" on the
end of shared drives.
>>> import os
>>>os.path.isdir( '\\\\rorschach\\public')
0
>>>os.path.isdir( '\\\\rorschach\\public\\')
1
It helps to think of share points as being like drive
letters. Example:
k: is not a directory
k:\ is a directory
k:\media is a directory
k:\media\ is not a directory
The same rules apply if you substitute "k:" with "\conkyfoo":
\\conky\foo is not a directory
\\conky\foo\ is a directory
\\conky\foo\media is a directory
\\conky\foo\media\ is not a directory
Web Python
Some host providers only let you run CGI scripts in a
certain directory, often named cgi-bin. In this case all
you have to do to run the script is to call it like
this:
http://my_server.tld/cgi-bin/my_script.py
The script will have to be made executable by "others".
Give it a 755 permission or check the executable boxes
if there is a graphical FTP interface.
Some hosts let you run CGI scripts in any directory. In
some of these hosts you don't have to do anything do
configure the directories. In others you will have to
add these lines to a file named .htaccess in the
directory you want to run CGI scripts from:
Options +ExecCGI
AddHandler cgi-script .py
If the file does not exist create it. All directories
below a directory with a .htaccess file will inherit the
configurations. So if you want to be able to run CGI
scripts from all directories create this file in the
document root.
To run a script saved at the root:
http://my_server.tld/my_script.py
If it was saved in some directory:
http://my_server.tld/some_dir/some_subdir/my_script.py
Make sure all text files you upload to the server are
uploaded as text (not binary), specially if you are in
Windows, otherwise you will have problems.
Page Numbers : 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Have a Question ?
post your questions here. It
will be answered as soon as possible.
Check
HTML Interview
Questions for more HTML Interview Questions with Answers
Check
Job Interview Questions
for more Interview Questions with Answers
|