বিভিন্ন সমাধানের প্রচুর পরিমাণ রয়েছে এবং ফলাফলগুলি দৃ strongly়তার সাথে নির্ভর করবে:
- আপনি যে ওএসটি ব্যবহার করছেন: উইন্ডোজ, সাইগউইন, লিনাক্স, ম্যাকোস
- পাইথন সংস্করণ আপনি ব্যবহার করছেন: পাইথন 2 বা পাইথন 3 এক্স
যেহেতু আমি এমন কিছু জিনিস আবিষ্কার করেছি যেগুলি কেবল উইন্ডোজে কাজ করার জন্য দাবি করা হয়েছে, সম্ভবত তা নয় কারণ আমি সাইগউইনকে ব্যবহার করেছি যা উইন্ডোজ পাথগুলি মোকাবেলা করার জন্য ওএসের পথকে ছাড়িয়ে যাচ্ছে। অন্যান্য জিনিসগুলি কেবল খাঁটি * নিক্স ভিত্তিক ওএস বা পাইথন 2 বা 3 এ কাজ করে।
আমার অনুসন্ধানগুলি এখানে:
- সাধারণত বলতে গেলে,
os.system()
সবচেয়ে ক্ষমাশীল পদ্ধতি।
os.startfile()
ক্ষমাশীল ক্ষমাশীল। (শুধুমাত্র উইন্ডোজ & আপনি ভাগ্যবান যদি)
subprocess.Popen([...])
প্রস্তাবিত নয়
subprocess.run(winView, shell=True)
প্রস্তাবিত উপায়!
- মনে রাখবেন যে
subprocess
কোনও কিছুর জন্য ব্যবহার করা কোনও সুরক্ষা ঝুঁকি তৈরি করতে পারে ।
এগুলি চেষ্টা করুন:
import os, subprocess
...
winView = '/cygdrive/c/Windows/explorer.exe %s' % somefile
...
os.system(winView)
subprocess.Popen(['/cygdrive/c/Windows/explorer.exe', 'somefile.png'])
subprocess.run(winView, shell=True)
প্রশ্ন: explorer
আপনি উইন্ডোজে কেন ব্যবহার করতে চান ?
উত্তর: কারণ আপনি যদি কিছু নতুন ফাইলের ফলাফলগুলি দেখতে চান তবে এক্সপ্লোরার সেই ফাইল টাইপের জন্য যে কোনও ডিফল্ট উইন্ডোজ প্রোগ্রাম সেট করে তা স্বয়ংক্রিয়ভাবে ফাইলটি খুলবে। সুতরাং ডিফল্ট প্রোগ্রামটি ব্যবহার করার জন্য পুনরায় নির্দিষ্ট করার দরকার নেই।