omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    Simple file download.

    Pythonista
    file download
    6
    19
    17678
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JonB
      JonB last edited by JonB

      You are better off using requests than urllib. It is easier to work with, and it handles decoding of the charset for you (otherwise, you need to check what encoding the website uses, and decode based in that). Also, you are better off using 'wb' to open your file, and write the bytes directly, rather than trying to mess with encodings at all.

      Here is a 2 liner to save a file:

      with open(destpath,'wb') as file:
      		file.write(requests.get(url).content)
      

      See https://gist.github.com/jsbain/fcb3f42932dde9b0ff6c122893d1b230 for how this is used in an app extension that can be run from safari, to save a file to pythonista.

      By the way, to post code in the forums, please type three backticks before you paste, on a separate line, and theee backticks after:

      ```
      your code here
      ```
      

      Backticks on ios are a pain, you have to long press the single quote, and select the option on the left. I like to create a keyboard shortcut in settings, which replaces ,,, with ``` for this purpose.

      NickAtNight 1 Reply Last reply Reply Quote 1
      • NickAtNight
        NickAtNight last edited by

        Backticks?

        Ok, let's give it a try.

        Here is a simple working version of your suggestion.

        I like the 'wb' switch.

        import requests
        
        print()
        
        destpath = 'ex24file.txt'
        url = "https://raw.githubusercontent.com/grrrr/py/741ba0500bc49e8f6268f02d23e461649e8d457b/scripts/buffer.py"
        
        with open(destpath,'wb') as file:
        	file.write(requests.get(url).content)
        
        1 Reply Last reply Reply Quote 1
        • NickAtNight
          NickAtNight @JonB last edited by

          Well that works pretty good @JonB.

          I just learned how to transfer up a GIST.

          First test:
          https://gist.github.com/NickAtNight500

          How do we download a ZIP file?

          1 Reply Last reply Reply Quote 0
          • NickAtNight
            NickAtNight last edited by

            Tagging this discussion for future reference. link text

            1 Reply Last reply Reply Quote 0
            • TutorialDoctor
              TutorialDoctor last edited by TutorialDoctor

              Found this bit of code on github inside of a game made with Pythonista.

              urllib.request.urlretrieve('https://drive.google.com/uc?export=download&id=0B3zm9_2zdxHnQUJweTVtMU1GdDQ', 'notsonice.m4a')

              It downloads a file from their Google Drive account into the directory the script that runs this code is.

              lachlantula 1 Reply Last reply Reply Quote 0
              • lukaskollmer
                lukaskollmer last edited by

                @TutorialDoctor Isn't that basically what I already proposed?

                1 Reply Last reply Reply Quote 2
                • TutorialDoctor
                  TutorialDoctor last edited by

                  Eeek. Yup.

                  1 Reply Last reply Reply Quote 0
                  • NickAtNight
                    NickAtNight last edited by

                    So what is the difference between request and urllib.request?

                    Same library, just different collections?

                    1 Reply Last reply Reply Quote 0
                    • abcabc
                      abcabc last edited by

                      http://stackoverflow.com/questions/2018026/what-are-the-differences-between-the-urllib-urllib2-and-requests-module

                      1 Reply Last reply Reply Quote 0
                      • lachlantula
                        lachlantula @TutorialDoctor last edited by

                        @TutorialDoctor Hahaha, looks like you found my game I made as a joke between me and my friend:P

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post
                        Powered by NodeBB Forums | Contributors