[PythonCE] osce.py
Michael Foord
mike at pcblokes.com
Mon Jan 17 12:13:30 CET 2005
I found an archived email with osce.py at :
http://mail.python.org/pipermail/pythonce/2002-October/000246.html
<https://www.bandos.homelinux.com/cgi-bin/pytest/approx.py/http/mail.python.org/pipermail/pythonce/2002-October/000246.html>
I used the base64 encoding to extract the plaintext of the attachment. I
haven't tested to see if it works - looks interesting though.
Regards,
Fuzzy
http://www.voidspace.org.uk/python/index.shtml
Isr Gish wrote:
>There is a module osce.py floating around that emulates the system functions.
>It was created by Telion.
>
>All the best,
>Isr
>
>-----Original Message-----
> >From: "Brad Clements"<bkc at murkworks.com>
> >Sent: 1/14/05 10:02:16 AM
> >To: "Geir Egeland"<geir.egeland at gmail.com>, "pythonce at python.org"<pythonce at python.org>
> >Subject: Re: [PythonCE] launch external application from pythonCE
> >On 14 Jan 2005 at 13:25, Geir Egeland wrote:
> >
> >> So, this doesn't seem to work...
> >> Doing a help(os) does not show the 'system' command under available
> >> functions.
> >> Any other suggestions?
> >
> >
> >I don't think system exists on windows CE.
> >
> >Hmm, even the 4.20 .NET reference doesn't show _exec or _spawn as being
> >supported in libc.
> >
> >You'll have to use CreateProcess() from win32api I suppose.
> >
> >
> >
> >
> >--
> >Brad Clements, bkc at murkworks.com (315)268-1000
> >http://www.murkworks.com (315)268-9812 Fax
> >http://www.wecanstopspam.org/ AOL-IM: BKClements
> >
> >_______________________________________________
> >PythonCE mailing list
> >PythonCE at python.org
> >http://mail.python.org/mailman/listinfo/pythonce
> >
>
>_______________________________________________
>PythonCE mailing list
>PythonCE at python.org
>http://mail.python.org/mailman/listinfo/pythonce
>
>
>
>
>
-------------- next part --------------
# Module osce.py
# This file is read and integrated by os.py
# Call these funcs from os
#
# Telion
# CE patch for execv etc..
#import win32process
#import string
#import win32event
def execv (path, args):
import os
if not type(args) in (tuple, list):
raise TypeError, "execv() arg 2 must be a tuple or list"
p=os.path.abspath(path)
#if os.path.exists(p):
import win32process
import string
hPro,hThr,dwPro,dwThr=win32process.CreateProcess(p,string.join(args,' '),None,None,0,0,None,None,None)
#del string
#del win32process
#del os
def execve (path, args, env):
# Currently, env is simply ignored. Sorry if you were trying to use that.
import os
if not type(args) in (tuple, list):
raise TypeError, "execve() arg 2 must be a tuple or list"
p=os.path.abspath(path)
import win32process
import string
hPro,hThr,dwPro,dwThr=win32process.CreateProcess(p,string.join(args,' '),None,None,0,0,env,None,None)
#del string
#del win32process
#del os
def system(cmd):
# This function will not start program in the directory with space(s)
# It is the same for other Windows version of Python.
# I made os.sytema(cmd, arg) for your convenience.
# Note: the retrun value maybe unliable...
import win32process
import string
import os
import win32event
#import re
a = string.find(cmd, ' ')
arg = ''
if a >0:
p=cmd[:a]
arg = cmd[a+1:]
else:
p=cmd
p=os.path.abspath(p)
hPro,hThr,dwPro,dwThr=win32process.CreateProcess(p,arg,None,None,0,0,None,None,None)
if hPro and hThr:
win32event.WaitForSingleObject(hPro,win32event.INFINITE)
r = win32process.GetExitCodeProcess(hPro) # This returns always 0?
#r2 = win32process.GetExitCodeThread(hThr)
#del re
#del string
#del win32process
#del win32event
#del os
return r
def systema(cmd,arg):
# This function is for CE only...
#
import win32process
import string
import os
import win32event
#import re
p=os.path.abspath(cmd)
hPro,hThr,dwPro,dwThr=win32process.CreateProcess(p,arg,None,None,0,0,None,None,None)
if hPro and hThr:
win32event.WaitForSingleObject(hPro,win32event.INFINITE)
r = win32process.GetExitCodeProcess(hPro)
#del re
#del string
#del win32process
#del win32event
#del os
return r
def syscmd(icmd, wait=0):
# call up a command through CMD.EXE and let it stay open after executeion
# Python does not wait for the command uness "wait" is True.
import win32process
import win32event
hPro,hThr,dwPro,dwThr=win32process.CreateProcess('\\windows\\cmd','/k '+icmd,None,None,0,0,None,None,None)
if wait and hPro and hThr:
win32event.WaitForSingleObject(hPro,win32event.INFINITE)
#del win32event
#del win32process
def syscmdc(icmd, wait=0):
# call up a command through CMD.EXE and close it after return
# Python does not wait for the command uness "wait" is True.
import win32process
import win32event
hPro,hThr,dwPro,dwThr=win32process.CreateProcess('\\windows\\cmd','/c '+icmd,None,None,0,0,None,None,None)
if wait and hPro and hThr:
win32event.WaitForSingleObject(hPro,win32event.INFINITE)
#del win32event
#del win32process
More information about the PythonCE
mailing list