Code: Alles auswählen
In [10]: file.fileno??
Type: method_descriptor
Base Class: <type 'method_descriptor'>
String Form: <method 'fileno' of 'file' objects>
Namespace: Python builtin
Docstring [source file open failed]:
fileno() -> integer "file descriptor".
This is needed for lower-level file interfaces, such os.read().
Code: Alles auswählen
process = subprocess.Popen(
('python', 'testScript.py'),
shell = True,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE,
stdin = subprocess.PIPE
)
subprocess.PIPE ist ein file descriptor, der dem Stream(?) PIPE zugewiesen ist bzw. assoziert wird (wie auch immer).
Code: Alles auswählen
# subprocess.py
PIPE = -1
STDOUT = -2
Ein Pseudo-File habe ich schon mal kurz zusammengehackt:
Code: Alles auswählen
[...]
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, title="Test")
[...]
# Für die jenigen die sich mit wxPython nicht auskennen:
# Das ist ein Textfeld in den Texte eingeben werden könne wie mit
# MS Notepad.
self.txt_ctrl = wx.TextCtrl(self.panel, style=wx.TE_MULTILINE)
[...]
def OnRunScript(self, event=None):
import wx.py.pseudo
class PseudoFileOut(wx.py.pseudo.PseudoFileOut):
def __init__(self, txt_ctrl_ref):
self.txt_ctrl_ref = txt_ctrl_ref
def write(self, t):
# Es wird alles ins ``wx.TextCtrl`` Textfeld geschrieben.
print >> self.txt_ctrl_ref, t
pfo = PseudoFileOut(self.txt_ctrl)
pfo.write("test")
[...]
Leider ist mein Wissen über das File-System beschränkt und weiß daher nicht wie man sowas realisiert.
lg
sape