Python Tutorial: Calling External Commands Using the Subprocess Module

Поделиться
HTML-код
  • Опубликовано: 13 дек 2024

Комментарии • 384

  • @coreyms
    @coreyms  5 лет назад +232

    Hey everyone. I hope you found this video useful. As I mentioned in a previous post, I just finished renovating a house that I'm selling and am currently going through a cross-country move, so I haven't been able to post as much lately as I'd like. Once I get this house sold and get settled into my new place then I'll be releasing at a much faster pace. Thanks for your patience... especially those who are contributing through Patreon or are Channel Members! I appreciate all of you! Hope you're all having a great week!

    • @priteshugrankar6815
      @priteshugrankar6815 5 лет назад +3

      Hi Corey, happy house shifting. Thank you for such amazing content.
      Would you also be coming up with golang videos? If so, it will be truly awesome.

    • @realplod
      @realplod 5 лет назад +3

      Where are you moving?:)

    • @buacomgiadinh1
      @buacomgiadinh1 5 лет назад

      Is there any intention for golang programming

    • @coreyms
      @coreyms  5 лет назад +3

      realplod I’m moving from Colorado to North Carolina.

    • @undisclosedmusic4969
      @undisclosedmusic4969 5 лет назад +1

      Good luck with the move! Also: Docker tutorials? ❤️

  • @jonathanhenyolson
    @jonathanhenyolson 5 лет назад +108

    I know you have about a million things on your to-do list but a series or video on threading would be amazing. There's pretty sparse RUclips content on it so far and one of your videos could easily fill that void! Thanks for all the great content!

    • @tanmoypaul1362
      @tanmoypaul1362 5 лет назад

      I second this. A video on threading would be awesome.

    • @user-be8ud2qd2d
      @user-be8ud2qd2d 5 лет назад

      @@tanmoypaul1362 Yeah I'd love this aswell

  • @ibrahimal-mahfooz8737
    @ibrahimal-mahfooz8737 5 лет назад +32

    Your content is as simple as sipping water for beginners. At the same time, I'm pretty sure it is so difficult to create and deliver such a clean and crystal clear content. Well done.

  • @suhaibalrabee9399
    @suhaibalrabee9399 6 месяцев назад +2

    I couldn't find such explanation for this topic in my overpriced premium subscriptions (CBT, PS, Orielly).
    This should not be free, please keep up the great work, thanks!

    • @coreyms
      @coreyms  6 месяцев назад

      Thanks so much!

  • @TexasGunDude
    @TexasGunDude 5 лет назад +12

    I've been taking Python courses online for certificates. Corey explains Python better that my online instructors.

  • @jasonhales262
    @jasonhales262 2 года назад

    This is by far the best explanation of the subprocess module on the WHOLE INTERNET.

  • @kobas8361
    @kobas8361 5 лет назад +109

    Love watching Corey's videos stoned. Being a programmer is so beautiful.

  • @Hunt3rGatherer
    @Hunt3rGatherer 11 месяцев назад +1

    Man I watched this 3 years ago with zero knowledge of computers other than a beginner python course and my brain short circuited. I finally understand everything in this video lol. Been using your videos for years now thanks bro 🤙

  • @Yasharvl
    @Yasharvl 4 года назад +2

    Corey, there's no doubt that these videos are a real must for anyone, who's learning Python.

  • @brijesh0808
    @brijesh0808 10 месяцев назад

    This video is far far better than any documentation, blog or video content whether on youtube or udemy.

  • @martym2908
    @martym2908 3 года назад

    I googled a dozen didn't pages to get subprocess to work and haven't succeeded until i watched this. Thanks a ton !

  • @sumukhas5418
    @sumukhas5418 Год назад +1

    This is the best explanation of a code I have ever seen!!

  • @bhushanhiwase121
    @bhushanhiwase121 4 года назад +8

    You are the best Corey, You have made my life so simple, and each one of your videos is so full of information and handy tricks. I really appreciate the work you put on to bring out these videos. Cannot be more Thankful... Huge Respect man...

  • @avahsieh4645
    @avahsieh4645 4 года назад +2

    Your tutorial helps me more than the python official document does.
    Thank you.

  • @purplev2791
    @purplev2791 5 лет назад +16

    Sometimes I feel like Brad Traversy and Corey Schafer are stalking me...but thank you very much for bringing the exact content I'm looking for! =)

    • @jonathanhenyolson
      @jonathanhenyolson 5 лет назад +2

      The only two I'm subscribed to! They're the best

  • @chiragpalan9780
    @chiragpalan9780 3 года назад

    Each time I search something about python and I found Corey.. Great.

  • @mayankpant5471
    @mayankpant5471 4 года назад

    this man makes everything very ez. python semantics itself are very ez but his videos makes learning python like learning alphabets.

  • @grjesus9979
    @grjesus9979 3 года назад +2

    This is what i can say linear learning look like, as it should always be, step by step and as clear as possible. Thank you a lot sir!

  • @kaiwalyapethe2931
    @kaiwalyapethe2931 5 лет назад +6

    Encode-decode strings, waiting for it.. Great work Corey! Thanks for the videos.

    • @carlosrivadulla8903
      @carlosrivadulla8903 5 лет назад

      also how to encode an script but that still working when other user execute it to avoid copyright violation

  • @Jack-sh4uv
    @Jack-sh4uv 3 года назад +1

    I just want to say how helpful all your videos are, I really would get so stuck on the occasional small thing but your videos are consistently well thought out and progress at a good speed. Thanks for the help

  • @monotone31
    @monotone31 4 года назад +5

    Users on Windows: use the following when Corey goes over 'cat' and 'grep'
    p1 = subprocess.run(['type', 'test.txt'], shell=True, capture_output=True, text=True)
    p2 = subprocess.run(['findstr', '/N', 'test'], shell=True, capture_output=True, text=True, input=p1.stdout)
    print(p2.stdout)

  • @kalpanarendarreddy5417
    @kalpanarendarreddy5417 Год назад

    My best teacher of python forever.......................love u corey ❤ 💕 always

  • @devravan9839
    @devravan9839 Год назад +1

    Very useful video sir.
    Thank you♥

  • @ankukumar-hi2jt
    @ankukumar-hi2jt День назад

    Corey Schafer you are awasome i leaned alot from you when i started learning coding and still learning alot from you Thanks and keep making videos

  • @lingxu5598
    @lingxu5598 2 года назад

    Another amazing video from my best CS teacher Corey...

  • @ItzSenaCrazy
    @ItzSenaCrazy 5 лет назад +2

    This tutorial arrived on right time. I'm coding a program to manage all my VENVs.
    Thanks Corey!

  • @christianhaugen9462
    @christianhaugen9462 4 года назад +1

    You are one of my favorite youtubers. I really appreciate how clear you communicate these concepts and teach them so well. I'll always be subscribed to you Corey!

  • @pythonicness
    @pythonicness 5 лет назад +1

    your voice is encouraging me to watch your videos.

  • @VectorLP
    @VectorLP 3 года назад

    thanks so much for this tutorial, i was ripping my hair out trying to figure out how subprocess works and you explained it in a extremely clean way

  • @AndreyLLIaBepMa
    @AndreyLLIaBepMa 5 лет назад +3

    Great tutorial! Magnificent library! Thank you, Coray! You are doing a great work!

  • @roboroogo
    @roboroogo 5 лет назад +1

    Easily some of the best python content on you tube. Many thanks

  • @tkadado
    @tkadado 4 года назад +1

    Fantastic tutorial! I got what I was looking for and more

  • @kariminic
    @kariminic 5 лет назад +2

    I found this video very useful. Had came across subprocess from the automate the boring stuff book but then didn't understand their purpose untill I watched this video. Have done really cool stuff with it, I had even to revisit the module from the book. In the end you've mentioned about Unicode, I haven't found a meaningful video on the topic and books full of jargons. I bet a video from you will be my saviour in understanding the topic. Thanks @Corey for the exceptional python tutorials.

  • @bloodywolftr
    @bloodywolftr Год назад +1

    Thank you very much Corey.This is exactly what I was searching for and you explained it in a nutshell.

  • @BhajanSansar
    @BhajanSansar 4 года назад

    Very helpful video. Just what i needed. Subscribed!

  • @RinksRides
    @RinksRides 3 года назад

    Clear, concise, and great production quality! Subbed.

  • @maxrodriguez643
    @maxrodriguez643 3 года назад +1

    Really useful! I am loving this subprocess module

  • @papireddymaramreddy8964
    @papireddymaramreddy8964 4 года назад +1

    Awesome Corey.. very simplified.. Thanks a lot

  • @mcgriddletime915
    @mcgriddletime915 3 года назад +1

    This was phenomenally explained. Thank you sir.

  • @poles1c
    @poles1c 4 года назад +3

    Corey this was incredibly helpful, thank you!

  • @anibis743
    @anibis743 2 месяца назад

    Super crisp --- loved it.

  • @happy0memo
    @happy0memo 3 года назад +1

    Hi Corey, your video was fantastic! You were able to describe the content in a way that made sense. I have been trying to understand this for about 3 days now and your 19min clip nailed it to the point where i can simply grasp the concepts. In fact, i have been trying to solve a code problem and you helped me a lot. Great work and keep up the good content.

  • @AnasAlsayedStudio
    @AnasAlsayedStudio 5 лет назад +29

    just wanna say that you're the best in delivering tutorial I've ever seen in youtube :D
    I hope if you make a tutorial about Vue js + Django
    will be really nice and original tutorial

  • @lucascott5631
    @lucascott5631 5 лет назад +3

    I love the python tutorials!

  • @nikhillingam4630
    @nikhillingam4630 4 года назад +1

    Best videos on python can be found, only on this channel !!

  • @VikasGuptacherie
    @VikasGuptacherie 5 лет назад +9

    Thanks Corey, very nice tutorial on another python built-in module. However I was expecting to see some more complex examples using Popen as well. Hope you cover it in future.

  • @Jonix-redhat
    @Jonix-redhat 3 года назад

    Brilliant as usual! thx Corey!

  • @polliluiz
    @polliluiz 2 года назад

    Amazing explanation Corey. God bless you man!

  • @janosmarton7895
    @janosmarton7895 2 года назад

    Your channel has more useful content than entire Bachelor degrees at universities.

  • @JosefWinter60
    @JosefWinter60 Год назад

    still the best python tutorials 👍

  • @slobodantajisic2762
    @slobodantajisic2762 4 года назад

    For Windows users:
    p1 = subprocess.run("type test.txt",
    shell=True, capture_output=True, text=True)
    p2 = subprocess.run('findstr /N /c:"neki"', shell=True, capture_output=True, text=True, input=p1.stdout)
    print(p2.stdout)

  • @Vpy2023
    @Vpy2023 4 года назад +1

    Thanks a ton man!! Your videos are very useful!

  • @flatearth1023
    @flatearth1023 4 года назад +1

    Excellent content man, i appreciate

  • @wisamkhalid5663
    @wisamkhalid5663 5 лет назад +1

    Great expanation..easy and direct..thanks

  • @jamesgeevarghese5867
    @jamesgeevarghese5867 Год назад

    great video, really helped me understand the subprocess module and allow me to use it in my projects

  • @林家頡-u2h
    @林家頡-u2h 5 лет назад +5

    Hi Corey, thank you for your amazing tutorial! Your python basic tutorial really helped when I first started learning python.
    Just one small problem, subprocess.run(["ls", "-la"], capture_output=True) should be subprocess.run(["ls", "-l", "/dev/null"], stdout=subprocess.PIPE) on Mac (python 3.6).

    • @martinalexander9210
      @martinalexander9210 5 лет назад

      I had the same issue happen to me. Thanks Jimmy Lin it worked!!

    • @ram-my6fl
      @ram-my6fl 4 года назад +2

      use python 3.7+ to have capture_output arg in subprocess.run

    • @techwithdave
      @techwithdave 4 года назад +1

      As @ram was saying, it totally works in Python 3.7.9, however, I wanted to add to his comment that 'capture_output=True' doesn't work when using versions older than 3.7

  • @killuasama824
    @killuasama824 4 года назад +1

    Thank you, your lessons are the clearest one for us, many thanks!

  • @welltimeltduk10
    @welltimeltduk10 3 года назад +2

    Corey, you are such a good teacher. I really like your style of building up the concepts step by step in an easy and accessible way. If you had a Udemy course, I would most likely buy it just to enjoy the teaching method unraveling complex concepts in an easy manner right in front of my eyes :)

  • @quantum-t
    @quantum-t 5 лет назад

    A perfect way to create a server shell that is able to accept villain commands via Get params :)
    Thx a lot for the video.

  • @user-pt4vn5hr2z
    @user-pt4vn5hr2z 5 лет назад +1

    Again, thank you Corey!

  • @dennisasamoah2213
    @dennisasamoah2213 5 лет назад +1

    Great as usual

  • @tyaprak
    @tyaprak 5 лет назад +1

    Great content as always.

  • @ajitesh764
    @ajitesh764 5 лет назад +1

    Once u start uploading video on stuff like ML/AI,neural network,Deep learning kind of stuff....mark my words ---> sky is the limit to the number of subscribers u'll have in a single day....I make sure I turn off the ad block when I watch ur video...as that is the only way I can contribute as of now....I'll become a member of your channel once I get a job... You are the best teacher hands down.

    • @coreyms
      @coreyms  5 лет назад +1

      Thanks! I'm working on it. It takes a lot of preparation for those types of videos but I hope to get to them in the near future.

    • @ajitesh764
      @ajitesh764 5 лет назад

      @@coreyms Looking forward to your videos...just out of curiosity....are u done with house renovation??

  • @EdwardSileo
    @EdwardSileo 5 лет назад +1

    Holy cow! Great tutorial.

  • @eliisrael1545
    @eliisrael1545 4 года назад

    So clear and so effective , great thanks

  • @OliverHext
    @OliverHext 4 года назад

    Great video. Well explained.

  • @jovy5638
    @jovy5638 5 лет назад

    In brief, There are string type object and byte type object. You should transfer the data to bytes to store the data in hard driver , and if you want to watch what’s the meaning for human, you need to transfer bytes data to string. From string to bytes, it’s called encode. And it’s called decode in the other situation.

  • @RECHDIful
    @RECHDIful 3 года назад

    as usual top look up of a python library, got what i needed here :) thx Corey

  • @babymayby9270
    @babymayby9270 Год назад

    Наконец то нормальное видео по subprocess

  • @srinidhiii
    @srinidhiii 4 года назад +1

    amazing tutorial. thanks a lot for sharing your knowledge

  • @vemcomonando
    @vemcomonando 5 лет назад +1

    Oh man thank you for this video!! Saved my day!!

  • @fredrik354
    @fredrik354 2 года назад

    Thank you. Sometimes you're just not in the mood to read the manpages and you just want a simple video explaining the basics.

  • @khushpatelmd
    @khushpatelmd 3 года назад

    Thank you so much Corey. I just want to let you know you are changing lives and the world with your amazing tutorials!

  • @特殊符号无法输入特殊
    @特殊符号无法输入特殊 3 года назад

    Thank you very much. This video solved a lot of my problems

  • @shivams417
    @shivams417 4 года назад

    very helpful for day to day scripts, py makes it easier. Thanks Corey!

  • @fahdalawsi2172
    @fahdalawsi2172 Год назад

    Amazing explanation thank you!

  • @rjsiii3
    @rjsiii3 5 лет назад +8

    +1 for the Unicode, bytes vs bits, & encoding video please

  • @jaehochoi8062
    @jaehochoi8062 2 года назад

    Very very very useful. Thanks.

  • @PizzaLovingNerd
    @PizzaLovingNerd 3 года назад

    Very good tutorial. Thank you a ton

  • @fcmorena246
    @fcmorena246 3 года назад

    Great Content, really helpful. Thanks

  • @jacquelineroronoad2254
    @jacquelineroronoad2254 3 года назад

    Yo this is incredibly helpful! I've been working on subprocess at work, but I didn't comprehend this library well and it was hard for me to complete my task!

  • @rahulkhod1505
    @rahulkhod1505 3 года назад

    Explain very well sir..

  • @WeedMIC
    @WeedMIC 5 лет назад +2

    This is exactly what I was working on - ty evet sm!

  • @fricon484
    @fricon484 3 года назад

    Thank you guy you are the best!

  • @dennispeacock6079
    @dennispeacock6079 4 года назад

    Really, Really liked this lesson!!! Thank You!!!!

  • @alanluna1796
    @alanluna1796 Год назад

    Very well explained, thanks for share

  • @TheSuperFather
    @TheSuperFather 4 года назад +1

    Perfect! Thank you!

  • @nitinrai6093
    @nitinrai6093 4 года назад +4

    how to capture realtime output from process if it takes long time to execute

  • @AdmMusicc
    @AdmMusicc 5 лет назад +1

    Wonderful content! I was actually hoping to run administrator level commands like netsh advfirewall through subprocess. How do I go about doing that?

  • @mohitarora1701
    @mohitarora1701 3 года назад

    Thanks for this video I got solution for my automation script 😊 I tried things from last 5 days and now I got that

  • @saravananr7681
    @saravananr7681 Год назад

    Still, no one can replace this needful! ❤

  • @geekchiq5431
    @geekchiq5431 3 года назад

    Thank You for sharing your knowledge with us! So grateful and appreciate your natural gift of teaching. I swear I was only looking for insight into using the subprocess module when you answered like 4 other questions I had! lol

  • @shreyasb.s3819
    @shreyasb.s3819 2 года назад

    Superbbb teaching

  • @germanquiroz2498
    @germanquiroz2498 4 года назад

    Hola Corey, gracias a tu informacion pude resolver un problema con un cuaderno de Jupyter.
    Best regards!

  • @sagar1553
    @sagar1553 5 лет назад +1

    That was really useful.

  • @krishnajunk
    @krishnajunk 5 лет назад

    Very good tutorial. Thanks

  • @juliocardenas-rodriguez1986
    @juliocardenas-rodriguez1986 2 года назад

    yet again; your video is very informative and practical =)
    Thank you

  • @736939
    @736939 5 лет назад +1

    Corey, please continue :) Microservices and Network Programming

  • @mejiab19
    @mejiab19 2 года назад

    For anyone on a windows machine in order to run the command you have two options: subprocess.run('dir',shell=True), subprocess.run(['cmd.exe', '/c', 'dir'])

  • @PalaniveluKs
    @PalaniveluKs 5 лет назад +1

    Best python teacher ever..