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
