On Aug 8, 7:45 pm, Thomas Jollans <tho...@jollans.com> wrote: > On 08/08/2010 12:23 PM, blur959 wrote: > > > > > On Aug 8, 6:05 pm, Thomas Jollans <tho...@jollans.com> wrote: > >> On 08/08/2010 10:35 AM, blur959 wrote: > > >>> On Aug 8, 4:15 pm, Chris Rebert <c...@rebertia.com> wrote: > >>>> On Sun, Aug 8, 2010 at 1:02 AM, blur959 <blur...@hotmail.com> wrote: > >>>>> Hi, all, I am writing a program that renames files inside OS > >>>>> directories the user provides. I am at the early stage of writing it > >>>>> and I encountered some problems. > > >>>>> Below is my code. There is an error i received when i run this code. > >>>>> The error is, WindowsError: [Error 123] The filename, directory name, > >>>>> or volume label syntax is incorrect. > > >>>> Well, what directory did you input? Apparently it wasn't a valid or > >>>> extant one. > > >>>> Cheers, > >>>> Chris > >>>> --http://blog.rebertia.com > > >>> I input for e.g, "C:" it works, basically, if i input a hard code > >>> string inside os.listdir it works, but if i stored the string that the > >>> user keyed inside a variable and run os.listdir with the variable, > >>> there is that error. But inputing hard code string inside os.listdir > >>> isn't what I want when I am writing this program. > > >> You didn't answert the question. What is the actual string you pass to > >> os.listdir after you got it from the user? You could > >> print repr(fileroot) > >> to find out. > > >> My tentative guess is that maybe Windows doesn't like newlines in file > >> names (I know UNIX allows them, but they're still usually a bad idea) > >> and maybe you string ends with a newline. > > > I do not get what you mean. The string i passed in is stored inside > > the variable fileroot. In the case I tested, i inputed the string "C: > > \" inside the raw_input and stored it inside fileroot, I tried > > printing repr(fileroot) and it gave me "C:\" as the result and when i > > tried running os.listdir(fileroot) i got the error. The string i > > passed to os.listdir is the string i keyed inside fileroot under the > > raw_input? > > You are passing a string to os.listdir. (you call that string fileroot). > There is probably something wrong with that string. In principle, it > doesn't matter where you got the string from - with raw_input() or by > hard-coding the string. > > repr(fileroot) is almost certainly not "C:\" -- that is not a valid > string literal. > > What did you enter exactly? > > -- Thomas
Sorry, This is my first time using the os commands in python, Ok, firstly, I entered "C:\" inside raw_input and stored it inside fileroot. When i print repr(fileroot), my result was '"C:\\"' . And when I run os.listdir with fileroot, I got that error. I typed my os.listdir code like this: os.listdir(fileroot) I attached my code for reference, thanks again! import os, glob def fileDirectory(): # Ask user for file directory input fileroot = raw_input("Input") print repr(fileroot) #Returns a list with all the files inside the file root directory( The error occurs here ) os.listdir(fileroot) fileDirectory() -- http://mail.python.org/mailman/listinfo/python-list