Problem with argument parsing


I have a python-script: myscript, used to start a program on another
computer and I use OptionParser in optpars.
I use it like this: myscript -H host arg1 -x -y zzz
I would like OptionParser to ignore all arguments after arg1, because
these are options that should be used by the program started on the
oter computer arg1 -x -y zzz.
One solution is to write: myscript -H host "arg1 -x -y zzz"
But is it in some way possible to instruct OptionParser to ignore -x -
y zzz without the "..."

Posted On: Monday 5th of November 2012 02:23:01 AM Total Views:  430
View Complete with Replies

RELATED TOPICS OF Python Programming PROGRAMMING LANGUAGE




some problems with mod_python

Johan a crit : > Hi > > I have installed and tested this on centos, fedora and freebsd all > give the same problem so I guess I missed some steps. > > I have compiled bot apache (2.2.4) and mod_python (3.3.1) according to > the docs and no problem with this. > But when I have made everything about testing mod_python an browse to > http://server/test and there expecting to see " world" I instead > get an index of contents in this directory. If I go to http://server/test/mptest.py > it works. No errors in any log either. > > What Have I missed The difference between AddHandler and SetHandler in apache's conf. > This I added to httpd.conf > > owOverride > AddHandler mod_python .py > PythonHandler mptest > PythonDebug On > Your problem is with Apache configuration, not with mod_python. The AddHandler directive maps /*.py to your handler. So you have to call .py to trigger the deed behaviour. If you want *any* url under to be handled by mptest, you need to use SetHandler, not AddHandler.
VIEWS ON THIS POST

166

Posted on:

Monday 5th November 2012
View Replies!

Eclipse3.3 with Pydev 1.3.10 Mylar problem, have Mylyn

Right now I am trying to install pydev 1.3.10 on Eclipse 3.3. I am getting an Mylar error org.eclipse.mylar (2.0.0.v20070403-1300) or something needed. Mylyn is mylar, now. How do you disable the mylar dependency, so that Mylyn is used by PyDev
VIEWS ON THIS POST

132

Posted on:

Monday 5th November 2012
View Replies!

Re: StringIO MySQL data blob Image problem

dimitri pater wrote: > > the following code works when inserting images in reportlab tables: > > (result4 is a query result) > a=0 > for i in result4: > cfoto = StringIO() > cfoto.write(result4[a][9].tostring()) > dfoto = cfoto.getvalue() > fileFoto = open(str(a)+'temp.jpg','wb') > fileFoto.write(dfoto) > fileFoto.close() > foto = Image(str(a)+'temp.jpg') > a+=1 > > Do stuff here (insert the Image) > > The problem with this code is that I need to create a unique file > (str(a)+'temp.jpg'), I tried to use a single temp.jpg but it kept > using the data from the first record. Tried flush(), truncate(0), but > it didn't work. (My mistake probably ;-) > But the images show in the PDF so that's fine for now. You've obviously already worked this one out, which is great. But if I might just comment on the code a little bit, in a spirit of helpful criticism: * It's not clear (to me) why you're using a StringIO at all. I'm not familiar with MySQL in particular, but in general, database interface modules will return a Python string or possibly a buffer object from a Blob field. In other words, is there anything to stop you simply writing "result4[a][9]" directly into a file # ... stuff leading up to: blob = result4[a][9] ofile = open ("temp.jpg", "wb") ofile.write (blob) # (or, possibly, str (blob) if it's a buffer) ofile.close () * Assuming you're using any recent version of Python, you can save the extra counter by iterating over enumerate (result4) which return a 0-based index and the indexed item as a tuple. In fact, now I look at it, you're doing the work twice. You're iterating over result4 but doing nothing with the "i" which is the result of the iteration. You might do better with something like this: # # I've used "a", "i" to match your code, # but more descriptive names are good, such # as n_result, result or whatever fits your mind. # for a, i in enumerate (result4): blob = i[9] ofile = open ("%d-temp.jpg" % a, "wb") ofile.write (blob) ofile.close () * Finally, the tempfile module is a good one to use for temporary files. (Although the xx-temp.jpg solution you used may be perfectly acceptable for your needs). In the above, I've avoided quite a few good-practice issues, such as try-except blocks when writing a file, or with-blocks in Python 2.5+. The code I've sketched out is merely a rough-and-ready illustration of a particular point, not a manual of best practice. I suspect you may be newish to Python, if not to programming in general. My comments above aren't intended to be nitpicks to show up your ignorance, but hopefully hints which might help you look at alternatives or consider alternative idioms within Python itself. Good luck with the PDFs! TJG
VIEWS ON THIS POST

123

Posted on:

Monday 5th November 2012
View Replies!

win32com problem: more than one instance

, I start my script convert.py simultaneously in any dos-shells several times. But I get every time the same solidworks instance. I see in the proccess (task) manager only one solidworks.exe Therefore I get for all simultaneous conversions the same output file. I tested the same code with excel (test_excel.py) and her I get many instances of excel in proccess (task) manager. How can I get many instances of solidworks Is it a problem of python Or is it a problem of the Solidworks-COM-Implemention and I get the same problem with an C++ client implementation
VIEWS ON THIS POST

191

Posted on:

Monday 5th November 2012
View Replies!

Code design problem

, I have a hard time figuring out an elegant and efficient design for the following problem. I am working on automation of structural design problems. In the majority of cases, this boils down to executing programs in batch in one or more loops. The scripts to control the execution differ from fortran to bash to python and so on. Most of them are ad hoc and what I call 'throw away scripts'. In order to improve the situation I would like to develop a Python module that supports the execution of external programs. Ideally I would like to make running locally or remote trivial for the users of the module. As an example, I would like the following (pseudo)-code to work: app = Application('patran') # Run on local machine app.start(args) app = Application('patran', host='myhost') # Run on remote machine app.start(args) The problem I face is that the implementation of the application class is completely different for the local and remote case. The local case is a straightforward implemenation using the subprocess module, the remote case is a CORBA implementation. Somehow I would like to switch from implementation class at runtime depending on whether or not the host parameter is specified or not. The Application, local implementation and remote implementation all have the same interface, so a possibility might be something like the following: class Interface(object): ..... def start(self): pass def stop(self): pass class LocalImplementation(Interface): ..... class GlobalImplementation(CorbaGlobalImplementation, Interface): ..... class Application(Interface): def __init__(self, program, host=None): .... if host: self.__impl = LocalImplementation(program) else: self.__impl = GlobalImplementation(program, host) # Forward all methods to the implementation class def start(self): self.__impl.start() def stop(self): self.__impl.stop() To me forwarding each call in the Application class looks a little bit redundant and I would like to get rid of it. Does anyone have any comments or suggestions Can metaclass programming come to rescue Kind regards, Marco Nawijn , Marco Nawijn writes: > The problem I face is that the implementation of the application class > is completely different for the local and remote case. The local case > is a straightforward implemenation using the subprocess module, the > remote case is a CORBA implementation. Somehow I would like to switch > from implementation class at runtime depending on whether or not the > host parameter is specified or not. > > The Application, local implementation and remote implementation all > have the same interface, so a possibility might be something like the > following: > To me forwarding each call in the Application class looks a little bit > redundant and I would like to get rid of it. Does anyone have any > comments or suggestions Can metaclass programming come to rescue It sounds like you could probably get away with just a factory function: def Application(program, host=None): if host is None: return LocalApplication(program) else: return RemoteApplication(program, host) Then just implement the same interface and/or derive from a common base class for LocalApplication and RemoteApplication. HTH!, -Marshall
VIEWS ON THIS POST

99

Posted on:

Monday 5th November 2012
View Replies!

insert string problems..

Hi.. I want to insert some data to postgresql.. My insert code: yer="019" cursor.execute("INSERT INTO ids_%s (id) VALUES (%s)", (yer, id)) I don't want to use % when the insert operation. in this code give me this error: psycopg2.ProgrammingError: syntax error at or near "'019'" LINE 1: SELECT link_id from linkkeywords_'019' if i do int(yer) , 019 change to 19 .. How can i do int yer string with 0
VIEWS ON THIS POST

131

Posted on:

Monday 5th November 2012
View Replies!

A problem with Time

, I need to return the date yesterday in the form DDMMYYYY. I looked through the modules: time, datetime and calendar but can't find anything that leaps out at me. The problem I'm having is that although I can use time.localtime and get a tuple of the year, month, day and so forth, I don't believe I can just minus 1 from the day, because I don't think it's cyclic, also, I can't see the date being linked in with the month. So is there any way of getting yesterdays date Thank You Dominic
VIEWS ON THIS POST

126

Posted on:

Monday 5th November 2012
View Replies!

Socket communication problem

Sandy Dunlop wrote: > > I'm new here, and fairly new to Python. I have been playing around with > Python and started having a look at socket IO. I have written a script > that communicates over a network to a server which is written in C. > While trying to get this working, I have been running into a problem > where the Python client appears to hang when it should be receiving data > back from the server. I forgot to add, I'm using Python 2.5.1 on OS X, and have also tried my program under Python 2.5.1 on Solaris 9. Cheers, Sandy
VIEWS ON THIS POST

108

Posted on:

Monday 5th November 2012
View Replies!

Using arrays in Python - problems.

, ! I've just started to use Python and its a lovely language! I've previously programmed in Fortran 95 and have just began to use numpy. I'm having a few problems with arrays in Python though and wondered if someone could offer me some advice I wrote the following Fortran code to randomly generate numbers from a log-normal distribution for use in a Monte Carlo model: do n=1,shotcount F(n)=G05DEF(F_mean,F_sd) enddo The array F(n) is dynamically allocated earlier on and is sized with reference to shotcount, the number of iterations the model performs. The problem is I can't get something like this to run in Python using numpy, and for the size of the array to be sized dynamically with reference to the variable shotcount. I acknowledge that my knowledge of Python is still really basic (I only started learning it a few days ago) and I'm trying to get out of the Fortran programming mindset but I'm stuck and don't seem to be able to get any further. If anyone could help I'd be really grateful.
VIEWS ON THIS POST

165

Posted on:

Monday 5th November 2012
View Replies!

problem with Python class creating

Hi all, I have the code like this one: from myMisc import ooIter class MyClass: def __init__(self): pass iterfcn = lambda *args: ooIter(self) # i.e pass the class instance to other func named ooIter field2 = val2 field3 = val3 # etc So it yields "global name 'self' is not defined", that is true. How could I handle the situation Currently I do (and it works, but give me some troubles - I should call MyClass.__init__ for each children class, and there are lots of those ones) class MyClass: def __init__(self): iterfcn = lambda *args: ooIter(self) # i.e pass the class instance to other func named ooIter field2 = val2 field3 = val3 # etc I suspect it has better solution, is it Thank you in advance, Dmitrey
VIEWS ON THIS POST

164

Posted on:

Monday 5th November 2012
View Replies!

regexp problem in Python

I want to find "http://www.2shared.com/download/1716611/e2000f22/ Jadeed_Mlak14.wmvtsid=20070803-164051-9d637d11" or 3gp instead of wmv in the text file like this : ""some code"" function reportAbuse() { var windowname="abuse"; var url="/abuse.jsplink=" + "http://www.2shared.com/file/1716611/ e2000f22/Jadeed_Mlak14.html"; OpenWindow = window.open(url,windowname,'toolbar=no,scrollbars=no,resizable=no,width=500,height=500,left=50,top=50'); OpenWindow.focus(); } function startDownload(){ window.location = "http://www.2shared.com/download/1716611/ e2000f22/Jadeed_Mlak14.wmvtsid=20070803-164051-9d637d11"; //document.downloadForm.submit(); } http://www.2shared.com/download/1716611/e2000f22/ Jadeed_Mlak14.3gptsid=20070803-164051-9d637d11"sfgsfgsfgv I use this pattern : "http.*\.(wmv|3gp).*"" but it returns only 'wmv' and '3gp' instead of "http://www.2shared.com/ download/1716611/e2000f22/Jadeed_Mlak14.wmv tsid=20070803-164051-9d637d11" what can I do what's wrong whit this pattern thanx for your comments
VIEWS ON THIS POST

123

Posted on:

Monday 5th November 2012
View Replies!

problems playing with dates from any month.

hello, I have a very strange problem and I can't find any solution for that. I am working on an accounting package which I wish to develop in python. the simple problem is that I want to knoe how I can know if the given date is the nth day of a month. for example if a customer is supposed to pay his installment on every 5th of all months, I want to know if today is the fifth day (jan the fifth, feb the fifth etc) for any given month. I have not found any such function. if I have looked (or over looked ) in the wrong places I am really sorry. secondly I also want to know the way in which I can convert a given string to a date object. for example if I have a string "29/09/2005", I know it is a valid date although it is in a string form. now I want to convert the above string into a real date object. how can I cast it this way regards, Krishnakant.
VIEWS ON THIS POST

138

Posted on:

Monday 5th November 2012
View Replies!

Re: problems playing with dates from any month.

krishnakant Mane wrote: > On 02/08/07, Ian Clark wrote: > >> http://docs.python.org/lib/node85.html >> > I looked there even before. > but could not figure out what the code did. > I know in that variable called s there was a string in a valid date format. > but when datetime.strptime was used, I did not understand the place > where a date object say d was created. > I would expect some thing like d = and the function. but I did not fine that. > only reference was the datetime module and the documentation is not as good. >>> import datetime >>> import time >>> fmt_string = '29/05/2005' >>> date_tuple = time.strptime(fmt_string, '%d/%m/%Y') >>> print date_tuple (2005, 5, 29, 0, 0, 0, 6, 149, -1) >>> date_tuple_minus_tz = date_tuple[0:6] >>> print date_tuple_minus_tz (2005, 5, 29, 0, 0, 0) >>> date_obj = datetime.datetime(*date_tuple_minus_tz) This last line is equivalent to the following: >>> date_obj = datetime.datetime(2005, 5, 29, 0, 0, 0) The * in front of a tuple expands it's arguments when making a function call >>> print date_obj 2005-05-29 00:00:0 >>> print date_obj.day == 5 False > another question I am getting is that where is the list of all > formatting characters. like for example Y is 4 digit year M is month > MM is month in 2 digits etc. > I am trying to locate a list of all these denoters. > can you provide me the place http://docs.python.org/lib/module-time.html Look for the strptime() function. > > >> Then it's just: >> >> if date_obj.day == 5: >> print 'It's the fifth day of the month' >> > this was much better than the documentation,
VIEWS ON THIS POST

138

Posted on:

Monday 5th November 2012
View Replies!

Matplotlib axis control problem

I would like to control the y axis of a plot. The following code does exactly what I want it to! On my linux computer it sets the y axis limits to 18.0 minimum, 58.0 maximum, plots some points on y=x, provides ticks at 20,30,40,50 and horizontal tick lines that intersect the plotted points. very good, but if I change the upper y axis limit to 54.0, (ax.set_ylim(18.0, 54.0)), it fails, plotting the ticks at some strange values. Ultimately I want to uncomment the set scale to log and use this to label semi log plots that by default are only labeled on powers of 10. My data falls within one decade so I don't want the full 10-100 limits. I'm rather new at matplotlib so if I'm making trivial errors please feel free to criticize.
VIEWS ON THIS POST

110

Posted on:

Monday 5th November 2012
View Replies!

Re: problem with change to exceptions

En Fri, 27 Jul 2007 19:49:17 -0300, Neal Becker escribi: > import exceptions > > class nothing (exceptions.Exception): > def __init__ (self, args=None): > self.args = args > > if __name__ == "__main__": > raise nothing > > Traceback (most recent call last): > File "", line 1, in > File "/usr/tmp/python-3143hDH", line 5, in __init__ > self.args = args > TypeError: 'NoneType' object is not iterable > > I'll have to say, I don't understand this error. If this is all your code, try using just: class nothing(Exception): pass if __name__ == "__main__": raise nothing Exceptions are built-in since aeons ago, so you don't have to import the exceptions module. The standard Exception class has an "args" attribute, and it's expected to be a tuple (not None). See -- Gabriel Genellina
VIEWS ON THIS POST

183

Posted on:

Monday 5th November 2012
View Replies!

Strange problems with subprocess

Hi all. I have a simple "ping tester" program that, every 1 minute (execute by linux crontab), create, with subprocess, a "ping -c 1 my_addrs". work, but sometime (about 1/2 times at a day), I receive this error message: File "/exports/srv-wipex/net_test/ping_tester.py", line 88, in pyPing cmd_p = Popen(cmd, stdout=PIPE, stderr=PIPE) File "subprocess.py", line 543, in __init__ errread, errwrite) File "subprocess.py", line 970, in _execute_child data = os.read(errpipe_read, 1048576) # Exceptions limited to 1 MB What can be that raise this Python 2.4 in deb etch
VIEWS ON THIS POST

268

Posted on:

Monday 5th November 2012
View Replies!

Re: problem with change to exceptions

Neal Becker wrote in news:f8e0g4$o1u$1@sea.gmane.org: > Alex Popescu wrote: > >> Neal Becker wrote in >> news:f8dspe$fm2$1@sea.gmane.org: >> > > [snip...] > >>> >> >> You can pass to the exception: >> a) a string (it will become the message) >> b) a tuple of values (can it be a list also) >> >> In your case there is no message, no values so args is NoneType. >> > Yes, args is None. So the assignment: > self.args = args > > should set self.args to None. Nothing wrong there, and what has this > got to do with NoneType being iterable > args are used to generate the traceback when a message was not provided. ../alex -- ..w( the_mindstorm )p.
VIEWS ON THIS POST

142

Posted on:

Monday 5th November 2012
View Replies!

Xinetd & python server script. problem to get data from from client

I wrote simple script to test communication: When i connect via telnet like: "telnet localhost 51423" the server is working send and receive information. but when i connected to him via client scrip so client script receive messages from server but server doesn't receive message from client. In xinetd.conf and servers conf file "only_from = 0.0.0.0/0" already choosen. What can i do Here below are my client and server: Thank you Server: #!/usr/bin/env python # example import sys import os print "Wellcome" print "please enter the string" sys.stdout.flush() line = sys.stdin.readline().strip() print "You entered %d characters." % len(line) sys.stdout.flush() client: import sys import string import os import time import socket import popen2 PORT = 51423 HOST = ""#sys.argv[1] sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((HOST, PORT)) print "Connected from:", sock.getsockname() print "Connected to:",sock.getpeername() while 1: print "waiting" result = sock.recv(1024) print result sock.send('foo') print "Sent: foo" if result == 3: break
VIEWS ON THIS POST

205

Posted on:

Monday 5th November 2012
View Replies!

"struct" module problem w/ pyinstaller

, I am trying to create exectuables on inux using "pyinstaller". I am using pyinstaller-1.3, RHEL 4.4, Python 2.5. The executables fail to run. The problem returned is pertaining to "struct.py" not being able to find the module "_struct". struct.py is located under /usr/local/lib/python-2.5/, and there is a _struct.o (no _struct.py anywhere) located under /usr/local/lib/ python-2.5/lib-dynload. When trying to run the executable, the loader returns: File "/usr/local/lib/python2.5/struct.py", line 30, in ImportError: No module named _struct The line in question is: from _struct import Struct, error I am a python neophyte. If someone could give me some information, I would appreciate it.
VIEWS ON THIS POST

101

Posted on:

Monday 5th November 2012
View Replies!

pyparser and recursion problem

On 2007-07-26, pyscottishguy@hotmail.com wrote: > Using pyparser, I'm trying to parse a string like this: > >:Start: first SECOND THIRD :SECOND: second1 | second2 :THIRD: third1 | > FOURTH :FOURTH: fourth1 | fourth2 > > I want the parser to do the following: > 1) Get the text for the :Start: label e.g ('first SECOND THIRD') > 2) Do nothing with the lower-case words e.g ('first') > 3) For each upper-case word find the corresponding entries, and > replace the word > with these entries (the '|' indicates separate records) > e.g. for 'SECOND', replace the word with ("second1", "second2") > 4 Do this recursively, because each item in '3' can have upper-case > words > > I can do this - but not within pyparser. I had to write a > recursive function to do it. I would like to do it within > pyparser however. pyparser is a great parser, but out of the box it only parses. To get it to convert a text file into a new form you'll have to write most of the conversion code yourself, and merely hook it into pyparser. The critical step you're missing (and that I missed until my third try) is the setParseAction method, with which you can monkey around with the resulting parse tree. On the other hand, since you got it working without pyparsing, probably you're problem doesn't need pyparsing. Hopefully I'll have time to help you a bit more later, or Paul MaGuire will swoop down in his pyparsing powered super-suit. -- Neil Cerutti , ,
VIEWS ON THIS POST

137

Posted on:

Monday 5th November 2012
View Replies!