On Tue, 03 Sep 2019 08:24:17 +1000, Cameron Simpson wrote: > It seems reasonable to me, but I would not use stderr=subprocess.STDOUT. > Why did you do that? The stderr stream pretty much exists to avoid > polluting stdout with error messages.
Thanks for your suggestion. > > For really complex stuff you're often better writing a shell script and > invoking that script, and avoiding shell=True. This has the advantages > that: > > (a) it avoids shell=True, a common source of accidents > > (b) you don't have to embed shell punctuation in a Python string, which > itself has punctuation > > (c) you can run the script yourself by hand for testing purposes, > outside the Python programme > > (d) you're not restricted to the shell; the script might be in awk or > any number of other languages > > Finally, the .decode('utf8') assumes your locale is UTF8 based. It > probably is, but if it isn't then you may get mojibake. Nowadays, most of the os use utf8 as the default locale. Am I wrong? -- https://mail.python.org/mailman/listinfo/python-list