[EMAIL PROTECTED] wrote: > I almost have this thing running like I want it to run but I want > the values to come from the program that calls this one. There are two > things I want to pass File_Name and CutString. They both need to go to > loadFile routine of Class WordGrid to replace constants. Thank you for > putting up with my quesitons in advance. > > > import wx > import wx.grid as gridlib > > > > #--------------------------------------------------------------------------- > > class WordGrid(gridlib.Grid): > def __init__(self, parent, log): > gridlib.Grid.__init__(self, parent, -1) > > > self.loadFile() > > self.CreateGrid(len(self.rows), self.widestRow) > > for r, row in enumerate(self.rows): > for c, col in enumerate(row): > self.SetCellValue(r, c, col) > self.SetColSize(c, 10*self.widestCol) > > for c, label in enumerate(self.header): > self.SetColLabelValue(c, label) > > def loadFile(self): > #from_file > infile = open('test.sco', 'r') > foundHeader = False > self.rows = [] > for line in infile: > if ";<sco_header>" in line: > #removefirst = line.split(' ') > self.header = line.split() > #foundHeader = 'true' > continue # we don't want to process this line any > further > else: > self.rows.append(line.split()) > > self.widestRow = max([len(r) for r in self.rows]) > self.widestCol = max([len(c) for c in [r for r in self.rows]]) > > > > #--------------------------------------------------------------------------- > > class TestFrame(wx.Frame): > def __init__(self, parent, log): > wx.Frame.__init__(self, parent, -1, "Simple Grid Demo", > size=(640,480)) > grid = WordGrid(self, log) > > #--------------------------------------------------------------------------- > #def main(): > > def main(From_File, string): > import sys > From_file = argv[1] > #split_string = argv2[2] > app = wx.PySimpleApp() > frame = TestFrame(None, sys.stdout) > frame.Show(True) > app.MainLoop() > pass > > if __name__ == '__main__': > import sys > main('test.sco', 'sfd') > > http://www.dexrow.com
Try this code, save it in file called test.py def main(From_File, string): print 'From_File: %s' % From_File print 'string: %s' % string if __name__ == '__main__': import sys print 'command line' print sys.argv main(sys.argv[1], sys.argv[2]) print 'hardcoded' main('test.sco', 'sfd') H:\>test.py arg1 arg2 command line ['H:\\test.py', 'arg1', 'arg2'] From_File: arg1 string: arg2 hardcoded From_File: test.sco string: sfd argv is in namespace sys, but you don't tell that. Also I would consider using a none built in and less generic name for the argument 'string' you're using. -- http://mail.python.org/mailman/listinfo/python-list