How to use "while" within the command in -c option of python?

Herman sorsorday at gmail.com
Fri Oct 12 20:55:49 EDT 2012


I was just trying to do in a shell to quickly monitor a file. Imagine
instead of printing hello, it is "os.system("cat somefile")", etc.
Look like it works if i press an enter after the "import xxx". Thanks.

On Fri, Oct 12, 2012 at 5:29 PM, Dave Angel <d at davea.name> wrote:
> On 10/12/2012 06:51 PM, Herman wrote:
>>  python -c "import os; while True: print('hello')"
>>  File "<string>", line 1
>>  import os; while True: print('hello')
>>                       ^
>> SyntaxError: invalid syntax
> See the recent thread:
>    "for-loop on cmd-line"
>
> The problem has nothing to do with the command line, it's caused by
> trying to use a keyword 'while' somewhere other than the beginning of
> the statement.
>
> I'll ask you the same question I had:  why do you bother?  What's wrong
> with making a separate file for the source code?
>
> But as for solutions, first question is what OS you're running on.  If
> not Windows, you can probably use \n at appropriate points.
>
> If that's not good enough, what about simply running the script instead
> of a batch file?
>
> If that's not good enough, how about merging the two languages, with a
> trick like starting the python code with rem = """  followed by the
> shell script?
>
> There are many others, but we cannot choose without knowing your other
> constraints.
>
>
>
> --
>
> DaveA
>



More information about the Python-list mailing list