справа - 100 *. Вы также можете использовать os.popen (), но там, где это возможно (Python 2.4+), подпроцесс обычно предпочтительнее.
Однако, в отличие от некоторых языков, которые его поощряют, обычно считается плохой формой создавать подпроцесс, в котором вы можете выполнять ту же работу внутри языка. Это медленнее, менее надежно и зависит от платформы. Ваш пример будет лучше как:
foo= open('/tmp/baz').read()
ет:
baz - это каталог, и я пытаюсь получить содержимое всех файлов в этом каталоге
? кошка в каталоге получает мне ошибку.
Если вы хотите список файлов:
import os
foo= os.listdir('/tmp/baz')
Если вы хотите содержимое всех файлов в каталоге, что-то вроде:
contents= []
for leaf in os.listdir('/tmp/baz'):
path= os.path.join('/tmp/baz', leaf)
if os.path.isfile(path):
contents.append(open(path, 'rb').read())
foo= ''.join(contents)
или, если вы можете быть уверены, что там нет каталогов, вы можете поместить его в одну строку:
path= '/tmp/baz'
foo= ''.join(open(os.path.join(path, child), 'rb').read() for child in os.listdir(path))