sth đúng . Bạn cũng có thể sử dụng os.popen (), nhưng nếu có sẵn thì quy trình con (Python 2.4+) thường được ưu tiên hơn.
Tuy nhiên, không giống như một số ngôn ngữ khuyến khích nó, nó thường được coi là hình thức xấu để sinh ra một quy trình con, nơi bạn có thể thực hiện công việc tương tự bên trong ngôn ngữ. Nó chậm hơn, kém tin cậy hơn và phụ thuộc vào nền tảng. Ví dụ của bạn sẽ tốt hơn là:
foo= open('/tmp/baz').read()
eta:
baz là một thư mục và tôi đang cố lấy nội dung của tất cả các tệp trong thư mục đó
? con mèo trên một thư mục khiến tôi gặp lỗi.
Nếu bạn muốn có một danh sách các tệp:
import os
foo= os.listdir('/tmp/baz')
Nếu bạn muốn nội dung của tất cả các tệp trong một thư mục, như sau:
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)
hoặc, nếu bạn có thể chắc chắn rằng không có thư mục nào trong đó, bạn có thể đặt nó trong một lớp lót:
path= '/tmp/baz'
foo= ''.join(open(os.path.join(path, child), 'rb').read() for child in os.listdir(path))