ਇੱਕ ਗੈਰ-ਮੌਜੂਦ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ os.mkdir() ਨਾਲ ਨਵੀਂ ਡਾਇਰੈਕਟਰੀ ਬਣਾਉਣ ਵੇਲੇ ਗਲਤੀ
os.mkdir()
ਇਹ ਪਾਈਥਨ ਵਿੱਚ ਇੱਕ ਡਾਇਰੈਕਟਰੀ (ਫੋਲਡਰ) ਬਣਾਉਣ ਲਈ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਤਰੀਕਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਗੈਰ-ਮੌਜੂਦ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਇੱਕ ਨਵੀਂ ਡਾਇਰੈਕਟਰੀ ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੇ ਹੋ, ਤਾਂ ਇੱਕ ਗਲਤੀ ਆਵੇਗੀ।(FileNotFoundError
)
import os os.mkdir('not_exist_dir/new_dir') # FileNotFoundError
os.madeirs() ਨਾਲ ਲਗਾਤਾਰ ਡਾਇਰੈਕਟਰੀਆਂ ਬਣਾਓ
ਜੇਕਰ ਤੁਸੀਂ os.mkdir() ਦੀ ਬਜਾਏ os.makedirs() ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਇੱਕ ਇੰਟਰਮੀਡੀਏਟ ਡਾਇਰੈਕਟਰੀ ਬਣਾਏਗਾ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਇੱਕ ਡੂੰਘੀ ਲੜੀਵਾਰ ਡਾਇਰੈਕਟਰੀ ਬਣਾ ਸਕੋ।
os.makedirs('not_exist_dir/new_dir')
ਇਸ ਉਦਾਹਰਣ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਇਹ ਉਹਨਾਂ ਸਾਰਿਆਂ ਨੂੰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਬਣਾਏਗਾ। ਇਹ ਠੀਕ ਹੈ ਜੇਕਰ ਕਈ ਨਵੀਆਂ ਇੰਟਰਮੀਡੀਏਟ ਡਾਇਰੈਕਟਰੀਆਂ ਹਨ।
- ਵਿਚਕਾਰਲੀ ਡਾਇਰੈਕਟਰੀ:
not_exist_dir
- ਅੰਤਮ ਡਾਇਰੈਕਟਰੀ:
new_dir
ਹਾਲਾਂਕਿ, ਜੇਕਰ ਅੰਤਮ ਡਾਇਰੈਕਟਰੀ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਇੱਕ ਗਲਤੀ ਆਵੇਗੀ।(FileExistsError
)
os.makedirs('exist_dir/exist_dir') # FileExistsError
ਜੇਕਰ ਕੋਈ ਆਰਗੂਮੈਂਟ ਮੌਜੂਦ ਹੈ_ ਠੀਕ ਹੈ
ਪਾਈਥਨ 3.2 ਤੋਂ, ਆਰਗੂਮੈਂਟ exist_ok ਜੋੜਿਆ ਗਿਆ ਹੈ, ਅਤੇ ਜੇਕਰ exist_ok=True, ਕੋਈ ਗਲਤੀ ਨਹੀਂ ਆਵੇਗੀ ਭਾਵੇਂ ਅੰਤ ਡਾਇਰੈਕਟਰੀ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੋਵੇ। ਜੇਕਰ ਅੰਤਲੀ ਡਾਇਰੈਕਟਰੀ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਤਾਂ ਇੱਕ ਨਵੀਂ ਬਣਾਈ ਜਾਵੇਗੀ, ਅਤੇ ਜੇਕਰ ਇਹ ਮੌਜੂਦ ਹੈ, ਤਾਂ ਕੁਝ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ। ਇਹ ਸੁਵਿਧਾਜਨਕ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਨੂੰ ਪਹਿਲਾਂ ਤੋਂ ਟਰਮੀਨਲ ਡਾਇਰੈਕਟਰੀ ਦੀ ਮੌਜੂਦਗੀ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਹੈ।
os.makedirs('exist_dir/exist_dir', exist_ok=True)
ਜੇਕਰ ਆਰਗੂਮੈਂਟ ਮੌਜੂਦ_ਓਕ ਗੁੰਮ ਹੈ
ਜੇਕਰ ਤੁਹਾਡੇ ਕੋਲ ਪਾਈਥਨ ਦਾ ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਕੋਲ os.madeirs ਵਿੱਚ ਮੌਜੂਦ_ok ਆਰਗੂਮੈਂਟ ਨਹੀਂ ਹੈ, ਤਾਂ ਤੁਸੀਂ os.path.exists ਦੀ ਵਰਤੋਂ ਇਹ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਕਰ ਸਕਦੇ ਹੋ ਕਿ ਕੋਈ ਅੰਤ ਡਾਇਰੈਕਟਰੀ ਹੈ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਫਿਰ ਇੱਕ ਨਵਾਂ ਬਣਾਉ ਤਾਂ ਹੀ ਜੇਕਰ ਕੋਈ ਨਹੀਂ ਹੈ। ਅੰਤ ਡਾਇਰੈਕਟਰੀ.
if not os.path.exists('exist_dir/exist_dir'): os.makedirs('exist_dir/exist_dir')