Re: problems with opening files due to file's path

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Carsten Haese

    #16
    Re: problems with opening files due to file's path

    Alexnb wrote:
    Okay, I don't understand how it is too vague, but here:
    >
    [snip a bunch of irrelevant examples...]
    >
    Did I clarify?
    No. Earlier you wrote:
    >On 2008-06-11, Alexnb <alexnbryan@gma il.comwrote:
    >>I am using GUI, Tkinter to be exact. But regardless of how the
    >>path gets there, it needs to opened correctly.
    This implies that the file doesn't get opened correctly if the file name
    is entered/chosen in the GUI. Yet, the examples you posted don't contain
    any GUI code whatsoever. They merely demonstrate that you don't have a
    firm grasp on how backslashes in string literals are treated.

    So, this begs the question, do you actually have any GUI code that is
    failing, or are you just worried, given the problems you had with string
    literals, that the GUI code you have yet to write will fail in the same way?

    If this is the case, you should just write the GUI code and try it. It
    might just work. Backslashes entered into a GUI text box are not treated
    the same as backslashes in a Python string literal.

    If, on the other hand, you do have some GUI code for getting the file
    name from the user, and that code is failing, then please, show us THAT
    CODE and show us how it's failing.

    --
    Carsten Haese

    Comment

    • Grant Edwards

      #17
      Re: problems with opening files due to file's path

      On 2008-06-11, Alexnb <alexnbryan@gma il.comwrote:
      >>>path = "C:\Documen ts and Settings\Alex\M y Documents\My
      >>>Music\Rhapso dy\Bryanbros\Ja son Mraz\I'm Yours (Single)\01 - I'm
      >>>Yours.wma"
      Your string doesn't contain what you think it does. Do a
      "print path". Hint: the string "\01" consists of a single byte
      who's value is 001 base 8.
      >>>os.startfile (path)
      Traceback (most recent call last):
      File "<pyshell#3 9>", line 1, in <module>
      os.startfile(pa th)
      WindowsError: [Error 2] The system cannot find the file specified:
      "C:\\Docume nts and Settings\\Alex\ \My Documents\\My
      Music\\Rhapsody \\Bryanbros\\Ja son Mraz\\I'm Yours (Single)\x01 - I'm
      Yours.wma"
      Notice that the string in the error message contains \x01?
      That's the byte that got changed.
      Here's another way:
      >
      >>>os.startfile (r"%s"%path)
      Traceback (most recent call last):
      File "<pyshell#4 0>", line 1, in <module>
      os.startfile(r" %s"%path)
      WindowsError: [Error 2] The system cannot find the file specified:
      "C:\\Docume nts and Settings\\Alex\ \My Documents\\My
      Music\\Rhapsody \\Bryanbros\\Ja son Mraz\\I'm Yours (Single)\x01 - I'm
      Yours.wma"
      >
      Same output, however if I personally input it like so:
      >
      >>>os.startfile ("C:\\Docume nts and Settings\\Alex\ \My Documents\\My
      >>>Music\\Rhaps ody\\Bryanbros\ \Jason Mraz\\I'm Yours (Single)\\01 - I'm
      >>>Yours.wma" )
      >
      It works out fine because I can make each backslash doubles so it doesn't
      mess stuff up.
      Right.
      So if I could take the path varible and make ever "\" into a
      "\\" then it would also work.
      I don't understand the part about the path variable.

      The backslash character is used in both C and Python as an
      escape character so that you can encode special values in
      string literals. For example: '\r' is a carriage return '\n'
      is a linefeed, \0nnn is a single byte with the octal value nnn,
      and so on.

      Microsoft's choice of '\' as a path separator was a terribly
      bad one (one of many made by Microsoft over the years). Most
      Windows system calls will accept forward slashes, so the
      easiest thing to do is usually just type the strings with
      forward slashes.

      --
      Grant Edwards grante Yow! NOW do I get to blow
      at out the CANLDES??
      visi.com

      Comment

      • Alexnb

        #18
        Re: problems with opening files due to file's path


        I don't think you understand it doesn't matter how the variable gets there,
        the same code is run regardless, I have no problem with the GUI, but you
        asked, and so I told you. the code os.startfile(.. .. is run if there is a
        GUI or it is a console app.


        Carsten Haese-2 wrote:
        >
        Alexnb wrote:
        >Okay, I don't understand how it is too vague, but here:
        >>
        [snip a bunch of irrelevant examples...]
        >>
        >Did I clarify?
        >
        No. Earlier you wrote:
        >
        >>On 2008-06-11, Alexnb <alexnbryan@gma il.comwrote:
        >>>I am using GUI, Tkinter to be exact. But regardless of how the
        >>>path gets there, it needs to opened correctly.
        >
        This implies that the file doesn't get opened correctly if the file name
        is entered/chosen in the GUI. Yet, the examples you posted don't contain
        any GUI code whatsoever. They merely demonstrate that you don't have a
        firm grasp on how backslashes in string literals are treated.
        >
        So, this begs the question, do you actually have any GUI code that is
        failing, or are you just worried, given the problems you had with string
        literals, that the GUI code you have yet to write will fail in the same
        way?
        >
        If this is the case, you should just write the GUI code and try it. It
        might just work. Backslashes entered into a GUI text box are not treated
        the same as backslashes in a Python string literal.
        >
        If, on the other hand, you do have some GUI code for getting the file
        name from the user, and that code is failing, then please, show us THAT
        CODE and show us how it's failing.
        >
        --
        Carsten Haese

        --

        >
        >
        --
        View this message in context: http://www.nabble.com/problems-with-...p17769178.html
        Sent from the Python - python-list mailing list archive at Nabble.com.

        Comment

        • Carsten Haese

          #19
          Re: problems with opening files due to file's path

          Alexnb wrote:
          I don't think you understand it doesn't matter how the variable gets there
          But it *does* matter. Compare this:

          pyfilename = "C:\Somewhere\0 1 - Some Song.mp3"
          pyprint filename
          C:\Somewhere - Some Song.mp3

          To this:

          pyfilename = raw_input("Ente r the filename: ")
          Enter the filename: C:\Somewhere\01 - Some Song.mp3
          pyprint filename
          C:\Somewhere\01 - Some Song.mp3

          Note that the "\01" in the first case seems to have disappeared, whereas
          in the second case it's preserved.

          Now, if you want us to help you, please post your ACTUAL code with a
          description of the ACTUAL problem.

          --
          Carsten Haese

          Comment

          • Lie

            #20
            Re: problems with opening files due to file's path

            On Jun 11, 10:07 am, Alexnb <alexnbr...@gma il.comwrote:
            I don't think you understand it doesn't matter how the variable gets there,
            the same code is run regardless, I have no problem with the GUI, but you
            asked, and so I told you. the code os.startfile(.. .. is run if there is a
            GUI or it is a console app.
            (snip)

            I think I know why you get confused by this, clearly, you have no idea
            of what an escape character and escape sequence is.

            Python (and C/C++ and some other languages) treats \ (the backspace
            character) inside a string specially, it makes the character after the
            backspace lose their special meaning OR get a special meaning, you
            might probably be used to seeing something like this: 'First line
            \nSecond Line', which when printed, would give:
            >>print 'First Line\nSecond Line'
            First Line
            Second Line

            The second behavior of the escape sequence is to make special
            character (generally the backspace itself), lose their special
            meaning:
            >>print 'path\\file.txt '
            path\file.txt

            In some cases, you might sometimes want a path like this: 'path
            \nick.txt'
            if you do this:
            >>print 'path\nick.txt'
            path
            ick.txt

            because the \n is considered as a newline.

            Instead, you should do this:
            >>print 'path\\nick.txt '
            path\nick.txt

            or
            >>print r'path\nick.txt '
            path\nick.txt

            the r'' string is raw string, most of the magics of a regular string
            '' is lost for an r'' string. It allows you to avoid the need to
            escape the special characters. Raw string is usually used for re
            (regular expressions) and paths in Windows both of which uses the
            backslash character regularly.

            you first case of:
            system("\"C:\Do cuments and Settings\Alex\M y Documents\My Music\Rhapsody
            \Bryanbros\Weez er\(2001)\04 - Island In The Sun.wma\"")

            is interpreted by python as this:
            "C:\Documen ts and Settings\Alex\M y Documents\My Music\Rhapsody
            \Bryanbros\Weez er\(2001) - Island In The Sun.wma"

            Notice that the '\0' is substituted into '', because \0 is the escape
            sequence for null character.
            (Personally I think python should raise errors if any escape character
            that isn't followed by a valid escape sequence is found (such as \D,
            \A, \M, \M, \R, \B, \W, \(), but perhaps they're trying not to be too
            mean for newbies.)

            that should be correctly written like this:
            system(r'"C:\Do cuments and Settings\Alex\M y Documents\My Music\Rhapsody
            \Bryanbros\Weez er\(2001)\04 - Island In The Sun.wma"')
            or:
            system('"C:\\Do cuments and Settings\\Alex\ \My Documents\\My Music\
            \Rhapsody\\Brya nbros\\Weezer\\ (2001)\\04 - Island In The Sun.wma"')

            Now, to the next question:
            How if I want the path to come from a variable:
            path = "C:\Documen ts and Settings\Alex\M y Documents\My Music\Rhapsody
            \Bryanbros\Jaso n Mraz\I'm Yours (Single)\01 - I'm Yours.wma"
            os.startfile(pa th)

            I can see in a glance why it doesn't work, the string is escaped by
            python, it should be written like this.
            path = r"C:\Documen ts and Settings\Alex\M y Documents\My Music\Rhapsody
            \Bryanbros\Jaso n Mraz\I'm Yours (Single)\01 - I'm Yours.wma"
            os.startfile(pa th)

            OR:
            path = "C:\\Docume nts and Settings\\Alex\ \My Documents\\My Music\
            \Rhapsody\\Brya nbros\\Jason Mraz\\I'm Yours (Single)\\01 - I'm
            Yours.wma"
            os.startfile(pa th)

            In most GUI toolkits (including Tkinter) and raw_input() function,
            when you input a string (using the textbox, a.k.a Entry widget) it
            would automatically be escaped for you, so when you input 'path\path
            \file.txt', the GUI toolkit would convert it into 'path\\path\
            \file.txt'.

            Comment

            • Carsten Haese

              #21
              Re: problems with opening files due to file's path

              Lie wrote:
              In most GUI toolkits (including Tkinter) and raw_input() function,
              when you input a string (using the textbox, a.k.a Entry widget) it
              would automatically be escaped for you, so when you input 'path\path
              \file.txt', the GUI toolkit would convert it into 'path\\path\
              \file.txt'.
              That's incorrect. If you enter text into a text box or in raw_input(),
              *no* conversion of backslashes is happening. A backslash entered in
              raw_input is just a backslash. A backslash entered in a textbox is just
              a backslash. A backslash read from a file is just a backslash.

              A "conversion " happens when you print the repr() of a string that was
              obtained from raw_input or from a text box, because repr() tries to show
              the string literal that would result in the contents, and in a string
              literal, a backslash is not (always) a backslash, so repr() escapes the
              backslashes:

              pytext = raw_input("Ente r some text: ")
              Enter some text: This is a backslash: \
              pyprint text
              This is a backslash: \
              pyprint repr(text)
              'This is a backslash: \\'

              As you can see, I entered a single backslash, and the string ends up
              containing a single backslash. Only when I ask Python for the repr() of
              the string does the backslash get doubled up.

              --
              Carsten Haese

              Comment

              • Lie

                #22
                Re: problems with opening files due to file's path

                On Jun 11, 9:14 pm, Carsten Haese <carsten.ha...@ gmail.comwrote:
                Lie wrote:
                In most GUI toolkits (including Tkinter) and raw_input() function,
                when you input a string (using the textbox, a.k.a Entry widget) it
                would automatically be escaped for you, so when you input 'path\path
                \file.txt', the GUI toolkit would convert it into 'path\\path\
                \file.txt'.
                >
                That's incorrect. If you enter text into a text box or in raw_input(),
                *no* conversion of backslashes is happening. A backslash entered in
                raw_input is just a backslash. A backslash entered in a textbox is just
                a backslash. A backslash read from a file is just a backslash.
                I know, but I thought it'd be easier for him to understand it like
                that and discover the real 'how-it-works' later. My guilt is that I
                forget to put a "this is not how it actually works behind the scene,
                but you can think of it like this at least for now since this model is
                easier to grasp (although misleading)".
                A "conversion " happens when you print the repr() of a string that was
                obtained from raw_input or from a text box, because repr() tries to show
                the string literal that would result in the contents, and in a string
                literal, a backslash is not (always) a backslash, so repr() escapes the
                backslashes:
                >
                pytext = raw_input("Ente r some text: ")
                Enter some text: This is a backslash: \
                pyprint text
                This is a backslash: \
                pyprint repr(text)
                'This is a backslash: \\'
                >
                As you can see, I entered a single backslash, and the string ends up
                containing a single backslash. Only when I ask Python for the repr() of
                the string does the backslash get doubled up.
                >
                --
                Carsten Haesehttp://informixdb.sour ceforge.net

                Comment

                • Alexnb

                  #23
                  Re: problems with opening files due to file's path


                  Okay, so as a response to all of you, I will be using the Entry() widget in
                  Tkinter to get this path. and the repr() function just makes all my
                  backslashes 4 instead of just 1, and it still screwes it up with the numbers
                  and parenthesis is has been since the first post. Oh and I know all about
                  escape characters, (\n,\b,\a,etc.) I can program C, not a lot, but enough to
                  know that I like python better. Anyway, so far I tried all of your stuff,
                  and it didn't work. infact, it puts backslashes in front of the "'" in some
                  of the words, such as "I'm" goes to "I\'m." So I posted the code I will be
                  using if you want to see the Tkinter code I can post it, but I don't see how
                  it will help.


                  Lie Ryan wrote:

                  On Jun 11, 9:14 pm, Carsten Haese <carsten.ha...@ gmail.comwrote:
                  >Lie wrote:
                  In most GUI toolkits (including Tkinter) and raw_input() function,
                  when you input a string (using the textbox, a.k.a Entry widget) it
                  would automatically be escaped for you, so when you input 'path\path
                  \file.txt', the GUI toolkit would convert it into 'path\\path\
                  \file.txt'.
                  >>
                  >That's incorrect. If you enter text into a text box or in raw_input(),
                  >*no* conversion of backslashes is happening. A backslash entered in
                  >raw_input is just a backslash. A backslash entered in a textbox is just
                  >a backslash. A backslash read from a file is just a backslash.
                  I know, but I thought it'd be easier for him to understand it like
                  that and discover the real 'how-it-works' later. My guilt is that I
                  forget to put a "this is not how it actually works behind the scene,
                  but you can think of it like this at least for now since this model is
                  easier to grasp (although misleading)".
                  >A "conversion " happens when you print the repr() of a string that was
                  >obtained from raw_input or from a text box, because repr() tries to show
                  >the string literal that would result in the contents, and in a string
                  >literal, a backslash is not (always) a backslash, so repr() escapes the
                  >backslashes:
                  >>
                  >pytext = raw_input("Ente r some text: ")
                  >Enter some text: This is a backslash: \
                  >pyprint text
                  >This is a backslash: \
                  >pyprint repr(text)
                  >'This is a backslash: \\'
                  >>
                  >As you can see, I entered a single backslash, and the string ends up
                  >containing a single backslash. Only when I ask Python for the repr() of
                  >the string does the backslash get doubled up.
                  >>
                  >--
                  >Carsten Haesehttp://informixdb.sour ceforge.net
                  --

                  --
                  View this message in context: http://www.nabble.com/problems-with-...p17782866.html
                  Sent from the Python - python-list mailing list archive at Nabble.com.

                  Comment

                  • Carsten Haese

                    #24
                    Re: problems with opening files due to file's path

                    Alexnb wrote:
                    Okay, so as a response to all of you, I will be using the Entry() widget in
                    Tkinter to get this path. and the repr() function just makes all my
                    backslashes 4 instead of just 1, and it still screwes it up with the numbers
                    and parenthesis is has been since the first post. Oh and I know all about
                    escape characters, (\n,\b,\a,etc.) I can program C, not a lot, but enough to
                    know that I like python better. Anyway, so far I tried all of your stuff,
                    and it didn't work. infact, it puts backslashes in front of the "'" in some
                    of the words, such as "I'm" goes to "I\'m." So I posted the code I will be
                    using if you want to see the Tkinter code I can post it, but I don't see how
                    it will help.
                    Your reluctance to post your code puzzles me. Several people have asked
                    you several times to post your code. We're not doing this to waste your
                    time. In fact, your reluctance to post your code wastes your time and
                    our time by making us guess.

                    Seeing your code should enable us to see exactly what the problem is.
                    Your vague descriptions of what's going on are not useful because they
                    are filtered through your inaccurate understanding of what's going on. I
                    mean no offense by this, but if your understanding were accurate, you
                    wouldn't be here asking for help.

                    So, if you want us to help you, please humor us and post the actual code
                    that gets the filename from the user and attempts to open the file. Also
                    tell us what input you're entering and the output the code produces.

                    --
                    Carsten Haese

                    Comment

                    • Thomas Morton

                      #25
                      Re: problems with opening files due to file's path

                      @Mike and the others yesterday

                      I did think after I posted that code (the string substitution thing) that it
                      might do that. Thanks for clarifying that it was rubbish :P

                      @ Alexnb

                      I'm do a lot of support on a community forum that uses Python as it's
                      language - I can tell you from experience that posting a chunk of code is
                      far easier to disseminate than a text description. As already mentioned the
                      fact that there IS a problem/question inherently means there is a missed
                      step of understanding. What ends up happening is that we form in our minds
                      the code we would use to do what your describing: what you have could be
                      totally different :)

                      Post-da-code :)

                      Tom

                      --------------------------------------------------
                      From: "Carsten Haese" <carsten.haese@ gmail.com>
                      Sent: Wednesday, June 11, 2008 7:05 PM
                      Newsgroups: comp.lang.pytho n
                      To: <python-list@python.org >
                      Subject: Re: problems with opening files due to file's path
                      Alexnb wrote:
                      >Okay, so as a response to all of you, I will be using the Entry() widget
                      >in
                      >Tkinter to get this path. and the repr() function just makes all my
                      >backslashes 4 instead of just 1, and it still screwes it up with the
                      >numbers
                      >and parenthesis is has been since the first post. Oh and I know all about
                      >escape characters, (\n,\b,\a,etc.) I can program C, not a lot, but enough
                      >to
                      >know that I like python better. Anyway, so far I tried all of your stuff,
                      >and it didn't work. infact, it puts backslashes in front of the "'" in
                      >some
                      >of the words, such as "I'm" goes to "I\'m." So I posted the code I will
                      >be
                      >using if you want to see the Tkinter code I can post it, but I don't see
                      >how
                      >it will help.
                      >
                      Your reluctance to post your code puzzles me. Several people have asked
                      you several times to post your code. We're not doing this to waste your
                      time. In fact, your reluctance to post your code wastes your time and our
                      time by making us guess.
                      >
                      Seeing your code should enable us to see exactly what the problem is. Your
                      vague descriptions of what's going on are not useful because they are
                      filtered through your inaccurate understanding of what's going on. I mean
                      no offense by this, but if your understanding were accurate, you wouldn't
                      be here asking for help.
                      >
                      So, if you want us to help you, please humor us and post the actual code
                      that gets the filename from the user and attempts to open the file. Also
                      tell us what input you're entering and the output the code produces.
                      >
                      --
                      Carsten Haese

                      --
                      http://mail.python.org/mailman/listinfo/python-list

                      Comment

                      • Grant Edwards

                        #26
                        Re: problems with opening files due to file's path

                        On 2008-06-11, Alexnb <alexnbryan@gma il.comwrote:
                        Okay, so as a response to all of you, I will be using the Entry() widget in
                        Tkinter to get this path.
                        OK.
                        and the repr() function just makes all my backslashes 4
                        instead of just 1, and it still screwes it up with the numbers
                        and parenthesis is has been since the first post.
                        I've absolutely no clue why you would be using the repr()
                        function.
                        Oh and I know all about escape characters, (\n,\b,\a,etc.)
                        Apparently not.
                        I can program C, not a lot, but enough to know that I like
                        python better. Anyway, so far I tried all of your stuff, and
                        it didn't work.
                        To what does "it" refer?
                        infact, it puts backslashes in front of the
                        "'" in some of the words, such as "I'm" goes to "I\'m."
                        Again, "it" doesn't seem to have a concrete referant.
                        So I posted the code I will be using if you want to see the
                        Tkinter code I can post it, but I don't see how it will help.
                        If you know what would help and what wouldn't, then you must
                        know enough to fix your problems. So please do so and quit
                        bothering the newgroup.

                        --
                        Grant Edwards grante Yow! I want another
                        at RE-WRITE on my CEASAR
                        visi.com SALAD!!

                        Comment

                        • Alexnb

                          #27
                          Re: problems with opening files due to file's path


                          I posted the underlying code, but I haven't made the GUI code because if I
                          can't get the underlying code right it doesn't matter, well in my eyes it
                          doesn't but I am probably wrong. But it will look somehting like this:

                          e = Entry()
                          #when user hits submit)
                          path = e.get()

                          os.startfile(pa th)

                          this is very simplified, but that is the idea, and basically exactly what
                          will happen, just if the path has some of those characters that conflict
                          with the \.


                          Carsten Haese-2 wrote:
                          >
                          Alexnb wrote:
                          >Okay, so as a response to all of you, I will be using the Entry() widget
                          >in
                          >Tkinter to get this path. and the repr() function just makes all my
                          >backslashes 4 instead of just 1, and it still screwes it up with the
                          >numbers
                          >and parenthesis is has been since the first post. Oh and I know all about
                          >escape characters, (\n,\b,\a,etc.) I can program C, not a lot, but enough
                          >to
                          >know that I like python better. Anyway, so far I tried all of your stuff,
                          >and it didn't work. infact, it puts backslashes in front of the "'" in
                          >some
                          >of the words, such as "I'm" goes to "I\'m." So I posted the code I will
                          >be
                          >using if you want to see the Tkinter code I can post it, but I don't see
                          >how
                          >it will help.
                          >
                          Your reluctance to post your code puzzles me. Several people have asked
                          you several times to post your code. We're not doing this to waste your
                          time. In fact, your reluctance to post your code wastes your time and
                          our time by making us guess.
                          >
                          Seeing your code should enable us to see exactly what the problem is.
                          Your vague descriptions of what's going on are not useful because they
                          are filtered through your inaccurate understanding of what's going on. I
                          mean no offense by this, but if your understanding were accurate, you
                          wouldn't be here asking for help.
                          >
                          So, if you want us to help you, please humor us and post the actual code
                          that gets the filename from the user and attempts to open the file. Also
                          tell us what input you're entering and the output the code produces.
                          >
                          --
                          Carsten Haese

                          --

                          >
                          >
                          --
                          View this message in context: http://www.nabble.com/problems-with-...p17786320.html
                          Sent from the Python - python-list mailing list archive at Nabble.com.

                          Comment

                          • Alexnb

                            #28
                            Re: problems with opening files due to file's path


                            I don't get why yall are being so rude about this. My problem is this; the
                            path, as a variable conflicts with other characters in the path, creating
                            escape characters I don't want, so I need a way to send the string to the
                            os.startfile() in raw, or, with all the backslashes doubled. Thats it, I'll
                            write some code of what it should work like, because I probably should have
                            done that; but you don't have to act like I am retarded... that solves
                            nothing.


                            Grant Edwards wrote:
                            >
                            On 2008-06-11, Alexnb <alexnbryan@gma il.comwrote:
                            >
                            >Okay, so as a response to all of you, I will be using the Entry() widget
                            >in
                            >Tkinter to get this path.
                            >
                            OK.
                            >
                            >and the repr() function just makes all my backslashes 4
                            >instead of just 1, and it still screwes it up with the numbers
                            >and parenthesis is has been since the first post.
                            >
                            I've absolutely no clue why you would be using the repr()
                            function.
                            >
                            >Oh and I know all about escape characters, (\n,\b,\a,etc.)
                            >
                            Apparently not.
                            >
                            >I can program C, not a lot, but enough to know that I like
                            >python better. Anyway, so far I tried all of your stuff, and
                            >it didn't work.
                            >
                            To what does "it" refer?
                            >
                            >infact, it puts backslashes in front of the
                            >"'" in some of the words, such as "I'm" goes to "I\'m."
                            >
                            Again, "it" doesn't seem to have a concrete referant.
                            >
                            >So I posted the code I will be using if you want to see the
                            >Tkinter code I can post it, but I don't see how it will help.
                            >
                            If you know what would help and what wouldn't, then you must
                            know enough to fix your problems. So please do so and quit
                            bothering the newgroup.
                            >
                            --
                            Grant Edwards grante Yow! I want another
                            at RE-WRITE on my CEASAR
                            visi.com SALAD!!
                            --

                            >
                            >
                            --
                            View this message in context: http://www.nabble.com/problems-with-...p17786386.html
                            Sent from the Python - python-list mailing list archive at Nabble.com.

                            Comment

                            • Alexnb

                              #29
                              basic code of what I am doing


                              Okay, so I wrote some code of basically what I will be doing, only with
                              exactly what I need for this part of the program but here you go:

                              [code]

                              from Tkinter import*
                              import os

                              class myApp:
                              def __init__(self, parent):
                              self.parent = parent

                              self.baseContai ner = Frame(self.pare nt)
                              self.baseContai ner.pack()

                              self.e = Entry(self.base Container)
                              self.e.bind("<R eturn>", self.entryEnter )
                              self.e.pack()

                              self.Button1 = Button(self.bas eContainer, command =
                              self.buttonClic k)
                              self.Button1.co nfigure(text="S ubmit")
                              self.Button1.pa ck()


                              def buttonClick(sel f):
                              print "Button1 was clicked"
                              path = self.e.get()
                              path = "\"" + path + "\""
                              print path
                              #os.startfile(p ath)

                              def entryEnter(self , event):
                              print "Enter was hit in the entry box"
                              self.buttonClic k()


                              root = Tk()
                              myapp = myApp(root)
                              root.mainloop()

                              [code]



                              Alexnb wrote:
                              >
                              I don't get why yall are being so rude about this. My problem is this; the
                              path, as a variable conflicts with other characters in the path, creating
                              escape characters I don't want, so I need a way to send the string to the
                              os.startfile() in raw, or, with all the backslashes doubled. Thats it,
                              I'll write some code of what it should work like, because I probably
                              should have done that; but you don't have to act like I am retarded...
                              that solves nothing.
                              >
                              >
                              Grant Edwards wrote:
                              >>
                              >On 2008-06-11, Alexnb <alexnbryan@gma il.comwrote:
                              >>
                              >>Okay, so as a response to all of you, I will be using the Entry() widget
                              >>in
                              >>Tkinter to get this path.
                              >>
                              >OK.
                              >>
                              >>and the repr() function just makes all my backslashes 4
                              >>instead of just 1, and it still screwes it up with the numbers
                              >>and parenthesis is has been since the first post.
                              >>
                              >I've absolutely no clue why you would be using the repr()
                              >function.
                              >>
                              >>Oh and I know all about escape characters, (\n,\b,\a,etc.)
                              >>
                              >Apparently not.
                              >>
                              >>I can program C, not a lot, but enough to know that I like
                              >>python better. Anyway, so far I tried all of your stuff, and
                              >>it didn't work.
                              >>
                              >To what does "it" refer?
                              >>
                              >>infact, it puts backslashes in front of the
                              >>"'" in some of the words, such as "I'm" goes to "I\'m."
                              >>
                              >Again, "it" doesn't seem to have a concrete referant.
                              >>
                              >>So I posted the code I will be using if you want to see the
                              >>Tkinter code I can post it, but I don't see how it will help.
                              >>
                              >If you know what would help and what wouldn't, then you must
                              >know enough to fix your problems. So please do so and quit
                              >bothering the newgroup.
                              >>
                              >--
                              >Grant Edwards grante Yow! I want another
                              > at RE-WRITE on my CEASAR
                              > visi.com SALAD!!
                              >--
                              >http://mail.python.org/mailman/listinfo/python-list
                              >>
                              >>
                              >
                              >
                              --
                              View this message in context: http://www.nabble.com/problems-with-opening-files-due-to-file%27s-path-tp17759531p1778 6712.html
                              Sent from the Python - python-list mailing list archive at Nabble.com.

                              Comment

                              • Jerry Hill

                                #30
                                Re: problems with opening files due to file's path

                                On Wed, Jun 11, 2008 at 4:16 PM, Alexnb <alexnbryan@gma il.comwrote:
                                >
                                I posted the underlying code, but I haven't made the GUI code because if I
                                can't get the underlying code right it doesn't matter, well in my eyes it
                                doesn't but I am probably wrong. But it will look somehting like this:
                                What you're missing is that all of the problems you're having with
                                escape characters *only apply to string literals inside your python
                                source code.* If you're getting the string from the console, you
                                don't need to escape or change anything. If you're getting the string
                                from a Tk text box, you don't need to escape or change anything. If
                                you're getting the string from the filesystem, you don't need to
                                escape or change anything.

                                The only place you have to be careful is when you type out a literal
                                string inside your .py source code. When you do that, you need to
                                properly escape backslashes, either by putting them in raw strings, or
                                by doubling up your backslashes.

                                If you haven't already, reread the section of the python tutorial
                                about string literals: http://docs.python.org/tut/node5.html.

                                --
                                Jerry

                                Comment

                                Working...