পাইথনে আলোচনা


162

আমি যদি পথের অস্তিত্ব না থাকে তবে একটি ডিরেক্টরি তৈরি করার চেষ্টা করছি, তবে! (না) অপারেটর কাজ করে না। পাইথনে কীভাবে উপেক্ষা করা যায় তা আমি নিশ্চিত নই ... এটি করার সঠিক উপায় কী?

if (!os.path.exists("/usr/share/sounds/blues")):
        proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
        proc.wait()

19
যাইহোক, পাইথন ব্যবহার করবেন না কেন os.mkdir()?
নিল

1
আমি os.mkdir () ফাংশন সম্পর্কে অবগত ছিলাম না, যদিও আমি অনুভব করেছি যে এরকম কিছু ছিল।
ডেভিড মুল্ডার

উত্তর:


229

পাইথনের নেগেশন অপারেটর not। সুতরাং আপনার !সাথে প্রতিস্থাপন করুন not

আপনার উদাহরণস্বরূপ, এটি করুন:

if not os.path.exists("/usr/share/sounds/blues") :
    proc = subprocess.Popen(["mkdir", "/usr/share/sounds/blues"])
    proc.wait()

আপনার নির্দিষ্ট উদাহরণের জন্য (যেমন নীল মন্তব্যগুলিতে বলেছেন), আপনাকে subprocessমডিউলটি ব্যবহার করতে হবে না , আপনি কেবল os.mkdir()প্রয়োজনীয় ব্যয় হ্যান্ডলিং সদ্ব্যবহার সহ প্রয়োজনীয় ফলাফল পেতে ব্যবহার করতে পারেন।

উদাহরণ:

blues_sounds_path = "/usr/share/sounds/blues"
if not os.path.exists(blues_sounds_path):
    try:
        os.mkdir(blues_sounds_path)
    except OSError:
        # Handle the case where the directory could not be created.

30

পাইথন ইংরাজী কীওয়ার্ডগুলিকে বিরামচিহ্নের চেয়ে পছন্দ করে। ব্যবহার করুন not x, যেমন not os.path.exists(...)। একই জিনিস জন্য যায় &&এবং ||যা হয় andএবং orপাইথন হবে।



1

প্রত্যেকের কাছ থেকে ইনপুট একত্রিত করা ( os.mkdirআপনি কোনও প্যারেন ব্যবহার করবেন না, ব্যবহার করবেন না ) আপনি পাবেন ...

specialpathforjohn = "/usr/share/sounds/blues"
if not os.path.exists(specialpathforjohn):
    os.mkdir(specialpathforjohn)

1
আপনার কোড (এবং ওপি'র) একটি দুর্ঘটনা যা হওয়ার অপেক্ষায় রয়েছে - দীর্ঘায়িত আক্ষরিক স্ট্রিংয়ের দুটি উদাহরণ যা সম্ভবত একই রকম হওয়া উচিত। এবং দয়া করে প্রতিশোধ নেবেন না যে এটি কেবল একটি উদাহরণ - এটি newbies জন্য একটি খারাপ উদাহরণ।
জন মাচিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.