Python Tutorial: OS Module - Use Underlying Operating System Functionality

Поділитися
Вставка
  • Опубліковано 22 гру 2024
  • In this Python Tutorial, we will be going over the 'os' module. The os module allows us to access functionality of the underlying operating system. So we can perform tasks such as: navigate the file system, obtain file information, rename files, search directory trees, fetch environment variables, and many other operations. We will cover a lot of what the os module has to offer in this tutorial, so let's get started.
    ✅ Support My Channel Through Patreon:
    / coreyms
    ✅ Become a Channel Member:
    / @coreyms
    ✅ One-Time Contribution Through PayPal:
    goo.gl/649HFY
    ✅ Cryptocurrency Donations:
    Bitcoin Wallet - 3MPH8oY2EAgbLVy7RBMinwcBntggi7qeG3
    Ethereum Wallet - 0x151649418616068fB46C3598083817101d3bCD33
    Litecoin Wallet - MPvEBY5fxGkmPQgocfJbxP6EmTo5UUXMot
    ✅ Corey's Public Amazon Wishlist
    a.co/inIyro1
    ✅ Equipment I Use and Books I Recommend:
    www.amazon.com...
    ▶️ You Can Find Me On:
    My Website - coreyms.com/
    My Second Channel - / coreymschafer
    Facebook - / coreymschafer
    Twitter - / coreymschafer
    Instagram - / coreymschafer
    #Python

КОМЕНТАРІ • 637

  • @shreyaschavhan5522
    @shreyaschavhan5522 2 роки тому +229

    + os.getcwd() => get current working directory
    + os.chdir() => change directory
    + os.listdir() => list directory
    + os.mkdir() => create a directory
    + os.makedirs() => make directories recursively
    + os.rmdir() => remove directory
    + os.removedirs() => remove directory recursively
    + os.rename(, ) => rename file
    + os.stat() => print all info of a file
    + os.walk() => traverse directory recursively
    + os.environ => get environment variables
    + os.path.join(, ) => join path without worrying about /
    + os.path.basename() => get basename
    + os.path.dirname() => get dirname
    + os.path.exists() => check if the path exists or not
    + os.path.splitext() => split path and file extension
    + dir(os) => check what methods exists

  • @dev_soda8315
    @dev_soda8315 2 роки тому +156

    its so sad that this guy has not uploaded any content for over a year now... his tutorials are always the best, most methodically thought out pieces of work on the platform

  • @codaadoc5302
    @codaadoc5302 6 років тому +32

    A tutorial for the sys module would help tremendously. It's difficult to find someone like you who can explain things in such detail as well as show how useful certain things within python can be without half-assing it. Thanks, Corey.

  • @chuanliangjiang7390
    @chuanliangjiang7390 7 років тому +445

    It is very excellent tutorial, much better than some paid python tutorial vedios in Udemy
    for i in range(1,1000000):
    print('Thank you so much for sharing this wonderful tutorial')

    • @Pr0G4m3R4u
      @Pr0G4m3R4u 6 років тому +119

      while True:
      print('Thank you so much for sharing this wonderful tutorial')

    • @greenballscience9514
      @greenballscience9514 6 років тому +4

      (Python script is in c:/pyproj/thankyou.py)
      Import subsystem
      Subsystem.call([C://Python//Python.exe, C://pyproj//thankyou.py])
      while True:
      Print(“Thank You So Much”)

    • @Nurtastube
      @Nurtastube 5 років тому +2

      @@Pr0G4m3R4u 😂😂😂

    • @grad6grade
      @grad6grade 5 років тому +8

      @@greenballscience9514 it should be like:
      import os
      os.system(''C://Python//Python.exe, C://pyproj//thankyou.py")

    • @oberyn.freezingmoon
      @oberyn.freezingmoon 5 років тому +2

      Error, wait for script to finish..
      .. CTRL+C
      >>> python Greenball_Science.py
      now you were saying?

  • @bactran7799
    @bactran7799 3 роки тому +15

    every time I need a tutorial video for Python, Corey is always the best one with really well organized, fully information and easily to remember. Thanks a lot Corey

    • @codingisthebest3914
      @codingisthebest3914 2 роки тому +1

      Your grammar is wrong, the quote should be, "Every time I need a tutorial video for Python, Corey is always the best one with really well organized, full information and easy to remember. Thanks a lot Corey."

    • @einekleineente1
      @einekleineente1 2 роки тому +1

      @@codingisthebest3914 Ich würde mal sagen,dass du ein Klugscheißer bist :)

    • @doodahgurlie
      @doodahgurlie 2 роки тому

      @@codingisthebest3914 Based on his name, he's not American, so it's fine. I agree with what oneLittleDuck wrote in German. LOL

  • @jordangillard2637
    @jordangillard2637 7 років тому +54

    Bless your soul Corey! The os module has always been such a pain to learn. When you first see it in code it's so cryptic. Thanks for breaking it down for us!

  • @knownwolf
    @knownwolf 6 років тому +27

    These Python videos are extremely helpful, thank you. I would be grateful if you added chapters. Some of the 10 minute plus videos have a lot of concepts and it would be great to jump back into a specific section when in need of a refresher. Keep up the excellent work and stay Pythonic my friend.

  • @sreedharIITR
    @sreedharIITR 7 років тому +318

    For windows users, print (os.environ.get("HOME")) won't work as there is no HOME folder, instead it is USERPROFILE. So, type USERPROFILE instead of HOME.

    • @murakumo222
      @murakumo222 7 років тому +2

      THANKS A LOT!!! i just can't get it work until i saw this comment. but why i can't get it to search other folders? am i only able to search within the same tree?

    • @kostasnikoloutsos5172
      @kostasnikoloutsos5172 7 років тому +4

      Thank you. Now I made this who gives you the desktop path.Pretty useful if you want to create something in the desktop.
      os.path.join(os.environ.get("USERPROFILE"), "Desktop")

    • @AnthonyMute
      @AnthonyMute 7 років тому +1

      @murakumo222 I don't know if you finally did it but assuming you are referring to os.walk() you could do the os.walk('C:\\Users') replacing the string with whatever directory you want the tree on.

    • @cjz5757
      @cjz5757 7 років тому

      Sukant Arora os.environ.get('HOME') works just fine for me

    • @MagnusAnand
      @MagnusAnand 6 років тому

      os.environ.get("HOME") worked fine for me in Windows 10

  • @khaled-dz8357
    @khaled-dz8357 6 місяців тому +3

    The best one i have ever seen in teaching coding . Thank you so much man

  • @yomajo
    @yomajo 5 років тому +6

    I never read your descriptions, but after seeing what's on your amazons' wish list, I can tell, you aint no ordinary tutor. Respect. Sharp, evolving mind.

    • @engr.mubasharhanif
      @engr.mubasharhanif 8 місяців тому

      hey are you programmer now?

    • @yomajo
      @yomajo 8 місяців тому

      @@engr.mubasharhanif Hey. still and will continue to hold myself newbie, but I do have production web app running that I charge the client for.

  • @salkdjfasldkfjsdlk
    @salkdjfasldkfjsdlk 7 років тому +8

    You are very good at explaining Python modules and their practical uses.

  • @АлексейСоков-ь8и
    @АлексейСоков-ь8и 2 роки тому +1

    It is so demonstrating that you can hardly find any questions in the comments - there are only thanks and insparations 😏 The explanation is so clear that it leaves nothing to ask about 💎 Great job 👍

  • @GihanJayaneththie
    @GihanJayaneththie 4 роки тому

    Simple, well organized, great for beginners and informative. Nothing but least speaks English doesn't try to showoff.

  • @sujithnair232
    @sujithnair232 4 роки тому +7

    for Windows users I used HOMEPATH instead of Home , use SET Command to be able to see all environment variables on CMD
    print(os.environ.get('HOMEPATH'))

  • @sahajjaiswal1074
    @sahajjaiswal1074 6 років тому +5

    you are much better than my faculty handling python course....

  • @turboromy
    @turboromy 7 років тому +2

    I was surprised how quick that search was wth os.walk().... and at the same time, wondered why Windows "Find" takes so long. Thanks for the great teachings.

  • @NicolasChanCSY
    @NicolasChanCSY 4 роки тому +3

    For anyone who needs to work with paths and don't want to deal with the forward/backward slashes difference between Linux, Windows, and MacOS, you can consider or at least take a look at the module `Pathlib`. It is simpler and easier to manipulate in my opinion.
    My favourite part of the module is its slash operator, e.g. taken from the documentation
    ```python
    >>> p = PurePath('/etc')
    >>> p
    PurePosixPath('/etc')
    >>> p / 'init.d' / 'apache2'
    PurePosixPath('/etc/init.d/apache2')
    ```
    Thus, you are free from the long `os.path.join()` method call introduced in 14:05 and make things cleaner and more readable.

  • @erfantaghvaei3952
    @erfantaghvaei3952 3 роки тому +1

    I love Corey's teaching ... and accent!

  • @zacharysimpson4025
    @zacharysimpson4025 6 років тому +6

    I've been learning python for several months now, and not once did i ever see anything about print(dir())! Like given!

  • @mubashirmuhib8339
    @mubashirmuhib8339 3 роки тому +16

    From 00:02
    The Os Module
    From 00:06
    Os Module
    From 00:27
    Import the Os Module
    From 01:31
    Navigate to a New Location on the Filesystem
    From 04:32
    Leading Folders
    From 05:27
    Rename a File or a Folder
    From 10:09
    Walk Method
    From 14:04
    Os Path Join
    From 15:49
    Os Path Base Name
    From 17:31
    Split Ext

  • @JoyDavidson
    @JoyDavidson Рік тому +1

    Corey, I hope you are well today. 🤙🤙 I have been sober for one year. We got this.

  • @manuelch4589
    @manuelch4589 3 роки тому +1

    Excellent! I really appreciate you sharing so much knowledge at no cost. I am getting it slowly. Thank you

  • @MattWatsonHarmonica
    @MattWatsonHarmonica 2 роки тому

    Thank you! I've been using the os module for years and had no idea about os.walk()! Will be putting this to good use!

  • @sameerspl
    @sameerspl 7 років тому +1

    Thanks Corey. I have started following you.. You make things so simple when it comes to using necessary commands in python.

  • @soumyazyx
    @soumyazyx 5 років тому +3

    Thank you Corey for your time and effort. Keep spreading the knowledge.

  • @veeresharadhya1430
    @veeresharadhya1430 8 років тому +223

    please make one tutorial for sys module as well... :-)

    • @ivandrofly
      @ivandrofly 7 років тому +4

      yeah thumbs up!

    • @Ryu23-x5
      @Ryu23-x5 7 років тому +5

      Yeah Corey! one for the sys module please! :)

    • @davidreynolds9649
      @davidreynolds9649 7 років тому +11

      and subprocess ;-)

    • @RaviTejaKalidindi
      @RaviTejaKalidindi 6 років тому +1

      and pdb debugger as well if possible :)

    • @beaconbecay1648
      @beaconbecay1648 5 років тому +2

      Veeresh Aradhya yes please. Been struggling with stdin and stdout

  • @seanhogan317
    @seanhogan317 8 років тому +1

    You are an excellent presenter. The details were very well explained. I learned a lot. Thank you

  • @jwarsame9661
    @jwarsame9661 8 років тому +1

    Thank you Corey Schafer you're the best teacher for pyhton

  • @jackieinspace
    @jackieinspace 6 років тому +1

    Very nice! Tight and down to the core of what is needed!

  • @soumyazyx
    @soumyazyx 5 років тому +1

    I am a huge fan of yours .. like countless others. I have been telling about this python playlist to each and everyone of my colleagues who are interested in python. I also emphasize that wander nowhere else. This is the place to be.
    On a side, How do you feel Corey to read such overflowing wonderful comments on you and your work? Would really like to know :)

    • @coreyms
      @coreyms  5 років тому +1

      I'm extremely grateful for all of the kind comments. I love reading comments from you all each morning.

  • @nameless191
    @nameless191 4 роки тому +1

    Great tutorial straight to point teaching the stuff that actually creates complex programs in a simple way is great

  • @klamentyne5991
    @klamentyne5991 4 роки тому +1

    Extremely useful and explained so well...thanks Corey!

  • @antonybelkovich7012
    @antonybelkovich7012 7 років тому +4

    Corey , thank YOU at the highest degree !

  • @mr.curious1714
    @mr.curious1714 3 роки тому

    You are the greatest Python teacher

  • @HW-ct1iq
    @HW-ct1iq 6 років тому

    Super good whistlestop tour. Just what I needed.

  • @chaitanyayeturi1312
    @chaitanyayeturi1312 3 роки тому +2

    First of all, your teaching style is good, and anyone grabs ur teachings easily, and thanks for teaching us. you are the best tutor I have ever come up with in python language. can u suggest any python language book, which is best to go through other than your channel? Moreover, I am a beginner to python language I thoroughly enjoyed ur videos, if u can suggest me best python book to ur sensibility and I guess it suits me and it helps me to learn further (I like physical like books). In case if u written any books related to this language can u suggest one (or) your favorite book, please......................................

  • @kshitijkumar326
    @kshitijkumar326 7 років тому +4

    This is an important suggestion for tutorials. Use Jupyter notebooks for tutorials. You won't have to erase your codes and output is line by line which is really easy to understand.

    • @coreyms
      @coreyms  7 років тому +9

      I enjoy using Jupyter notebooks and have a video on how others can begin using them, but I have found that for tutorials it is best to stick with simple editors that beginners are more familiar with. They may become confused when their code with a notebook doesn't run top-to-bottom like a typical script. Thank you for the suggestion though. I will think more about it.

    • @rishabh.bharat
      @rishabh.bharat 4 роки тому

      @@coreyms exactly right sir Corey Scafer, you always think about your community....that's the real quality of a classic teacher :)
      ..also in Jupyter nb you may have to restart kernel or delete that cells to wash off unwanted variables from your code snippet..so I too think Sublime is best option from a learners point of view

  • @MrKungfu218
    @MrKungfu218 4 роки тому +1

    This was a very good video lesson for me as a beginner. I signed up for a Udemy class but found the content on OS Module functionality left me with some questions. I will definitely be using your videos as a resource1

    • @abeburdock7791
      @abeburdock7791 4 роки тому

      Which Udemy python class are you taking? I plan on taking a Udemy class for Python to supplement what I learn from Corey's channel. Thanks.

  • @mansimandlik9013
    @mansimandlik9013 5 років тому +1

    You teach in a interesting way sir ,Thanks Today i have learned all things i was trying to learn from many days

  • @Setssquare
    @Setssquare 2 роки тому

    Thanks a lot i started my cyber security journey yesterday , I was advised to learn this module thanks!!!!

  • @ABMA79
    @ABMA79 3 роки тому

    wonderful explanation.... Thanks a lot for making it more clear brother.
    you should honestly be a teacher.

  • @edchelstephens
    @edchelstephens 2 роки тому +1

    Another excellent tutorial! 💯
    Thanks a lot Corey 🙏

  • @misty_jeera
    @misty_jeera 3 роки тому +3

    Tip : if you are in windows, always use // instead of / while defining path names, otherwise you get errors apparently : )
    Eg: os.chdir("C://Users//Desktop//text.txt")

    • @dostonbektoirov7110
      @dostonbektoirov7110 2 роки тому

      Also, you can use r'C:/Users/Desktop/..' to make Python treat it as a raw string.

  • @ramnageena88
    @ramnageena88 5 років тому +3

    this is my first comment in youtube I like this video good work

  • @ArunKumar-qy6fm
    @ArunKumar-qy6fm 5 років тому +1

    Superb Corey. You are going beyond of our expectations. Keep it up.

  • @samhhhhh
    @samhhhhh 2 роки тому +1

    Excellent explanations and examples, thank you!

  • @carltechnologies2829
    @carltechnologies2829 4 роки тому

    What a very helpful tutorial, I owe you more than a subscription

  • @LeirbagIII
    @LeirbagIII 3 роки тому

    This si pretty interesting, Corey!! Thanks a lot for your help!

  • @akira_asahi
    @akira_asahi 2 роки тому

    Thank you for the video. I am grateful for your time and contribution. Kind regards, Akira.

  • @juliankercsik5641
    @juliankercsik5641 4 роки тому +1

    Thanks Corey bloody good show old chap!!!

  • @Imran20091990
    @Imran20091990 2 роки тому

    Don't know what to say.. excellent 👌👌👌👌

  • @cibelless510
    @cibelless510 5 років тому

    OMG, you are really good! Very clear voice and excellent explanation. Thanks for share.

  • @justgivemethetruth
    @justgivemethetruth 7 років тому +3

    Good, useful. Lots of stuff in the os module, that is for sure.

  • @meowmeow70
    @meowmeow70 4 роки тому

    Thank you Corey. Truly appreciate what you share.

  • @learnpy2583
    @learnpy2583 Рік тому

    this guy is so clear,

  • @heshankumarasinghe3159
    @heshankumarasinghe3159 4 роки тому

    An excellent tutorial. Learnt new stuff and this video helped me clear some doubts. Thanks a lot!!!

  • @nolevel433
    @nolevel433 3 роки тому

    Thats so brilliantly explained. Thanks a lot !!!!

  • @Samuftie
    @Samuftie 4 роки тому +1

    very clear and precise. thank you.

  • @shirzadroohi3000
    @shirzadroohi3000 4 роки тому

    Thanks, it was very useful for me as a python beginner.

  • @luisrosales3058
    @luisrosales3058 5 років тому

    Great tutorial. Simple and straight.

  • @jignareshamwala3401
    @jignareshamwala3401 7 років тому +1

    @Corey Schafer. Your tutorials are awesome! Thank you! :)

  • @karimkazia
    @karimkazia 4 роки тому

    Thank you very very much for these videos. Learning a lot from your videos.

  • @suryakantmishra6866
    @suryakantmishra6866 7 років тому +1

    simply awesome.. thanks Corey :)

  • @Tamer_Gomaa
    @Tamer_Gomaa 3 роки тому

    Awesome 👍🏼.
    Great explanation

  • @divyasris9231
    @divyasris9231 4 роки тому

    super super super. excellent teaching skills.

  • @dpynsnyl
    @dpynsnyl 4 роки тому +1

    This is a gold video.

  • @geetavishwakarma4883
    @geetavishwakarma4883 3 роки тому

    Very informative and helpful. And also very well explained. Thank you

  • @ravialwayswins
    @ravialwayswins 7 років тому

    Really really good stuff Corey!

  • @Akashdoifode
    @Akashdoifode 4 роки тому +1

    Thanks a lot for this video. Really helpful

  • @gregoryfenn1462
    @gregoryfenn1462 7 років тому +1

    Very helpful guide to such an import module :) thanks!

  • @sacredinclinations
    @sacredinclinations 8 років тому

    thanks for this video, clear and helpful and I learnt some new stuff. Please keep on releasing more!

  • @dilshadomar5078
    @dilshadomar5078 6 років тому +1

    grate video am always around and always learning somthing new from the same video

  • @heshankumarasinghe3159
    @heshankumarasinghe3159 4 роки тому

    Thank you for the video..... Learnt new stuff from this.....

  • @kom_senapati
    @kom_senapati Рік тому +1

    Yo this is included in summer analytics 2023 curriculum 👌

  • @shazkingdom1702
    @shazkingdom1702 5 років тому +1

    now I understand this OS & good use case for file manipulation!
    THANK YOU COREY!

  • @ai.simplified..
    @ai.simplified.. 3 роки тому

    It,s 3rd min &i already loved it.

  • @shriramkaucyk7491
    @shriramkaucyk7491 6 років тому +1

    Awesome one to start with. Just a lot of things.

  • @jacss1x
    @jacss1x 4 роки тому +2

    For Real, GREAR THEACHING!!!!

  • @manjsc
    @manjsc 5 років тому +2

    Really informative and very well explained. Thank you

  • @vladn.2332
    @vladn.2332 7 років тому

    Thank you for the clear and concise explanation!

  • @kelvinmacharia3715
    @kelvinmacharia3715 6 років тому +1

    This a very good tutorial.Thank you Corey

  • @cooleekova
    @cooleekova 2 роки тому

    thank youuu! your tutorials are awesome!

  • @Shlomojohn
    @Shlomojohn 4 роки тому

    Really well explained thanks 👍🏻

  • @samsam8458
    @samsam8458 4 роки тому

    Hi Corey.. At 8:45 you suggested that os.walk yields a 3 value tuple.. I tried to check the type and can see--
    Files are -
    Dir is
    Root is
    Can you please help me understand how I can get the values as tuple.

  • @hamedbakhti1752
    @hamedbakhti1752 4 роки тому

    Thanks bro!!! its very helpful... Good luck

  • @maheshjadhav8118
    @maheshjadhav8118 6 років тому +1

    Awesome tutorial!

  • @sundareshbarana7860
    @sundareshbarana7860 6 років тому +1

    Thank You Corey. Your videos are best one for python beginners.

  • @shashik962
    @shashik962 5 років тому +4

    This is different to improve knowledge of OS.

  • @moha_linus
    @moha_linus 5 років тому +2

    i'dont speak english but i understand what do u doing
    ur the bes bro ,, all love

  • @farmakoxeris
    @farmakoxeris 5 років тому

    7:39 What about doing it manually? What is the meaning of the number 1459929315.0? I suppose it's a number if seconds beyond a base date/time (perhaps 1/1/1900 00:00:00).

  • @MatiasEzelQ
    @MatiasEzelQ 8 років тому +1

    Amazing the simplicity of python :O

  • @mcmormus
    @mcmormus 3 роки тому +1

    Hey, can someone please explain when and why I get double slashes in some "path" strings? For example when I print(os.environ): "ALLUSERSPROFILE': 'C:\\ProgramData'"?

  • @JerryPoppendaddy
    @JerryPoppendaddy 4 роки тому

    Great vid! Very useful

  • @bharath695
    @bharath695 4 роки тому

    I love this video tutorial just like many :-). As a systems admin, I would like to learn more about the os module. If possible you can make an advanced tutorial on this.

  • @thmmerd
    @thmmerd 3 роки тому

    Thank you. This was super cool.

  • @smithocoro1140
    @smithocoro1140 4 роки тому

    Asombroso amigo eres asombroso como explicas, tiene un suscriptor

  • @tav9755
    @tav9755 4 роки тому

    Thanks for this very useful and well presented tut..

  • @ranjitrajput9297
    @ranjitrajput9297 7 років тому +1

    Very useful video.Thanks.

  • @Owendinga
    @Owendinga 7 років тому

    Super helpful! Thank you!

  • @LeandroCursinofoto
    @LeandroCursinofoto 3 роки тому

    Top, excelent tutorial!