On 08/23/2012 09:53 PM, aklei...@sonic.net wrote:
>> As I code Python, I find myself falling back on Bash to handle basic OS
>> tasks. How do you gurus deal with Python --> Bash conflicts?
>>
>> For example, if I wish to test if a file exists, I might do
>>
>> test = Popen('[ -f file-i-want-to-test-for ]')
>>
>> But the moment I invoke Bash for a test, I must deal with the fact that
>> Bash returns a zero for true and a non-zero for false. But in Python,
>> zero is false and non-zero is true. So if the file exists, the variable
>> 'test' will be zero since that is what was returned by Bash. But if I
>> want to test the variable for the existence of the file, I have to test
>> the opposite: 'if not test:' because Python sees the zero as False.
>>
>> Does it become second nature to work with these conflicts? Or do you
>> find it more expedient bypass the OS shell and work almost exclusively
>> with Python?
> try
>
>>>> import os.path
>>>> os.path.exists(path)
> or
>>>> os.path.isfile(file_name)

That seems much cleaner to me than testing to see if 'os.listdir'
contains a specific file. Thanks.

I am forever confused, however, on which methods can be found where. I
just spent quarter of an hour searching in sys,* os.*, and shutil.*. for
a 'kill' command that I knew I'd seen before....I found it hidden in
subprocess.Popen. Arrrgggh. These various imports are going to drive me
to drink!

Thanks for the response.


Ray
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to