get output of cmd-line command under MS windows
Hi all, unfotunately, 'commands.getstatusoutput(command)' does not work under windows. Would there be any alternative? os.system also just provides the exit number I think. thanks a lot, and cheers marco -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: get output of cmd-line command under MS windows
On 2006-02-08, Bernard Lebel <[EMAIL PROTECTED]> wrote: Hi Bernhard and all, > oPipe = os.popen( "run C:/program files/my app/executable.exe" ) > > while 1: > sLine = oPipe.read() > print sLine > if sLine == '': > print 'No more line from pipe, exit.' > break > I see. I saw also os.popen("").read() or so. Anyway, not sure if that would also catch stderr? But doesn't matter. It seems, imagemagick (binaries) won't provide proper error-codes, but at least when it prints something, something was not ok probably. I will check the resulting file, to see if everything went ok, and try to catch the output like you mentioned. thanks a lot marco -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: get output of cmd-line command under MS windows
On 2006-02-08, Bernard Lebel <[EMAIL PROTECTED]> wrote: Hi Bernhard, > You should give a go to os.popen( ). Article > 6.1.2 and 6.1.3 in the Python Library doc. > that was good, but on python2.4 subprocess is GREAT! e.g.: pipe = subprocess.Popen(tot, stdout=subprocess.PIPE,\ stderr=subprocess.PIPE, shell=False) message = pipe.stdout.read() error = pipe.stderr.read() thanks all, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
text encodings -> subprocess.Popen or -> labelmarkup (pygtk)
Hi all, first of all, I have to say I have hardly no knowledge about that issue. on the program there, I have it like that: ,--- | obj = unicode(newcomment, 'utf-8') | newcomment = obj.encode('latin-1') | | pipe = subprocess.Popen(tot, stdout=subprocess.PIPE,\ |stderr=subprocess.PIPE, shell=False) `--- that seems to work with that construction above. Then I think, 'what' kind of encoding I can send to an external program, depends also on that program? Or on the environment? If, then how could I get that environemnt? (the programs runs also under MS windows) Well, maybe someone has some hints about encodings issues like that, and what I can send to external commands? thanks a lot calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
general coding issues - coding style...
Hi all, since I'm just a 'handicraft'/beginner or so, could anybody provide me with some (rough) hints, about how to enhance the code here: http://calmar.ws/tmp/cal.html Cheers and thanks a lot calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-18, Diez B. Roggisch <[EMAIL PROTECTED]> wrote: Hi Diez, > - why are these {{{ thingies there? markers for folding for vim http://www.calmar.ws/tmp/sc.png > - use string interpolation like "Foo %s %i" % ("bar", 1) instead of > concatenating strings. I see, get's shorter and so, and I can break lines. (seems to me, after ( or [ or so, I can use a new line without to worry) > - it seems that you could benefit from a class instead of a bunch of > functions & few globals. No need to go too crazy about OO, but it has > its merits I see. Maybe I could then build some classes for that prog, especially since I use only one file, it probably would make some sense for getting a better structure. > > - try using something like glade - creating GUIs by hand sucks > big-timer :) I should (seriously) check out probably. > - read up about unicode and encodings, what they mean and why and when > to use what. Really. Most problems in that field stem from people being > sort of ignorant on that topic and just wiggling themselves through all > the time - in the end, messing up stuff. It really _isn't_ that complicated. I read up. In fact, basically it does not seem to be that complicate. Unicode just a 'numbered' list of all available character, and e.g. uft-8 a organized way to 'store' those 'numbers' wisely into bytes. I still have some problems with that (and gave up), but since I begin to now understand it somebit more, I should try/check again. > - when creating string-keyed dicts, the idiom > > dict(foo="bar", > baz="pillepalle") I see, I changed too. Thanks a lot, marco -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-18, Justin Azoff <[EMAIL PROTECTED]> wrote: Hi all, > Dylan Moreland wrote: >> I would look into one of the many Vim scripts which automatically fold >> most large blocks without the ugly {{{. > > Who needs a script? > "set foldmethod=indent" > works pretty well for most python programs. > Well, foldmethod=marker does not bother me, because the folds are normally closed. With markers, it takes one line per function, with indent I see 2, so I prefer markers. ..and since I can easily get rid of them, and add them again, I will at least remove them before e.g. putting to the web or so. Cheers and thanks, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-18, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: Hi, > 1585 if sys.path[0][-12:] == "\library.zip": #for py2exe > if sys.path[0].endswith( "\\library.zip" ): cool, thx, > (did you really mean one back-slash there?) (yeah, one backslash) > 499 tuple = os.path.split(filename) > bad variable name... tuple(x) converts a sequence to a tuple. I see, I changed that to path, filen = os.path.split(filename) > You have a number of places where you check for len(x)==0: > 674 if len(files) == 0: > --> if not files: I see. thx > you should run your code through pychecker (it had a lot to say...). I see, cool tool that pychecker! I can't do something against the 'not used variable' so probably? (since pygtk just sends those items anyway) > You use global alot... that should be a red flag. Like the poster > above mentioned, you have things that are telling you they want to > be objects. I will try to get some order (classes) and maybe remove them. thanks a lot!! cheers, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-19, Bruno Desthuilliers <[EMAIL PROTECTED]> wrote: Bonjour, > > 1/ learn OO and get rid of globals. Well I created two classes now. I put some things global (your point 6). e.g. if it's on Windows or not, and other things. > 2/ use dict or list based dispatch instead of long if/elif/elif... clauses when I find out what you mean, I will. Probably something lika a 'case' thing? #python meant a list containing functions or so. So that the values represent the functions to call, isn 'it? > 3/ stdout is meant for *normal* program outputs. Errors and verbosity go > to stderr yeah, changed (somebit) > 4/ triple quoted strings are fine for multiline text yeah. I have lot of triple prints... > 5/ os.path is fine for portable filepath operations I don't really understant what you mean here, sorry > 6/ things that dont change during program execution (ie : constants) > should not be defined inside a function As I mentioned above, these I placed globally: main gtkwindows, smwin or not, pyexe or not, preferred encoging according to your statement? Anyway, since I did lot of changes, I'm myself confused actually. http://calmar.ws/tmp/cal.html Will try to cleanup and implement even further all good advices from all in some days. Thanks a lot!! calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list
Re: general coding issues - coding style...
On 2006-02-20, JW <[EMAIL PROTECTED]> wrote: Hi JW, > About this line: > 1585 if sys.path[0][-12:] == "\library.zip": #for py2exe > > pl... suggested: > if sys.path[0].endswith( "\\library.zip" ): > > > print "\\library.zip" > Yeah, I have two backslashes, but thaks for pointing out. > If you don't use the double backslash, you'll eventually have a > problem, especially in Windows, which unfortunately uses the backslash > as a directory seperator. You might also want to look at os.sep and > the os.path.* functions, if you are interested in making your code work > on different platforms. Yeah, I will use the os.sep variable, that's a good idea thanks a lot, calmar -- calmar (o_ It rocks: LINUX + Command-Line-Interface //\ V_/_ http://www.calmar.ws -- http://mail.python.org/mailman/listinfo/python-list