sth ঠিক আছে । আপনি ওএস.পোপেন () ব্যবহার করতে পারেন তবে যেখানে উপলব্ধ (পাইথন ২.৪++) সাবপ্রসেসটি সাধারণত পছন্দনীয়।
যাইহোক, কিছু ভাষাগুলি এটির উত্সাহ দেয় না তার বিপরীতে, এটি সাধারণত এমন একটি সাব-প্রসেস তৈরি করতে খারাপ রূপ হিসাবে বিবেচিত হয় যেখানে আপনি ভাষার ভিতরে একই কাজ করতে পারেন। এটি ধীর, কম নির্ভরযোগ্য এবং প্ল্যাটফর্ম নির্ভর। আপনার উদাহরণ হিসাবে ভাল হবে:
foo= open('/tmp/baz').read()
এবং:
বাজ একটি ডিরেক্টরি এবং আমি সেই ডিরেক্টরিতে থাকা সমস্ত ফাইলের বিষয়বস্তু পাওয়ার চেষ্টা করছি
? ডিরেক্টরিতে বিড়াল আমাকে ত্রুটি দেয়।
আপনি যদি ফাইলগুলির একটি তালিকা চান:
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))