Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Renaming of files in OS directory

Reply
Thread Tools

Renaming of files in OS directory

 
 
blur959
Guest
Posts: n/a
 
      08-08-2010
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.

Hope you guys could help.



import os, glob

def fileDirectory():
#Asks the user for a file root directory
fileroot = raw_input("Please input the file root directory \n\n")
print fileroot

#Returns a list with all the files inside the file root directory
os.listdir(fileroot)

fileDirectory()
 
Reply With Quote
 
 
 
 
Chris Rebert
Guest
Posts: n/a
 
      08-08-2010
On Sun, Aug 8, 2010 at 1:02 AM, blur959 <(E-Mail Removed)> 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
 
Reply With Quote
 
 
 
 
blur959
Guest
Posts: n/a
 
      08-08-2010
On Aug 8, 4:15*pm, Chris Rebert <(E-Mail Removed)> wrote:
> On Sun, Aug 8, 2010 at 1:02 AM, blur959 <(E-Mail Removed)> 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.
 
Reply With Quote
 
Thomas Jollans
Guest
Posts: n/a
 
      08-08-2010
On 08/08/2010 10:35 AM, blur959 wrote:
> On Aug 8, 4:15 pm, Chris Rebert <(E-Mail Removed)> wrote:
>> On Sun, Aug 8, 2010 at 1:02 AM, blur959 <(E-Mail Removed)> 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.
 
Reply With Quote
 
blur959
Guest
Posts: n/a
 
      08-08-2010
On Aug 8, 6:05*pm, Thomas Jollans <(E-Mail Removed)> wrote:
> On 08/08/2010 10:35 AM, blur959 wrote:
>
>
>
> > On Aug 8, 4:15 pm, Chris Rebert <(E-Mail Removed)> wrote:
> >> On Sun, Aug 8, 2010 at 1:02 AM, blur959 <(E-Mail Removed)> 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?
 
Reply With Quote
 
Thomas Jollans
Guest
Posts: n/a
 
      08-08-2010
On 08/08/2010 12:23 PM, blur959 wrote:
> On Aug 8, 6:05 pm, Thomas Jollans <(E-Mail Removed)> wrote:
>> On 08/08/2010 10:35 AM, blur959 wrote:
>>
>>
>>
>>> On Aug 8, 4:15 pm, Chris Rebert <(E-Mail Removed)> wrote:
>>>> On Sun, Aug 8, 2010 at 1:02 AM, blur959 <(E-Mail Removed)> 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

 
Reply With Quote
 
blur959
Guest
Posts: n/a
 
      08-08-2010
On Aug 8, 7:45*pm, Thomas Jollans <(E-Mail Removed)> wrote:
> On 08/08/2010 12:23 PM, blur959 wrote:
>
>
>
> > On Aug 8, 6:05 pm, Thomas Jollans <(E-Mail Removed)> wrote:
> >> On 08/08/2010 10:35 AM, blur959 wrote:

>
> >>> On Aug 8, 4:15 pm, Chris Rebert <(E-Mail Removed)> wrote:
> >>>> On Sun, Aug 8, 2010 at 1:02 AM, blur959 <(E-Mail Removed)> 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()
 
Reply With Quote
 
Thomas Jollans
Guest
Posts: n/a
 
      08-08-2010
On 08/08/2010 02:35 PM, blur959 wrote:
> 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!


Okay, maybe you've already understood the problem now, but in case you
haven't:
'"C:\\"' is no valid file name. The quotes ("") are part of what you're
passing to the OS here, which you don't want. Just enter the file name
without quotes. (or, if you really want quoting for some reason, you
could manually strip the quotes, or use the shlex module.

>
>
> 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()


 
Reply With Quote
 
blur959
Guest
Posts: n/a
 
      08-08-2010
On Aug 8, 9:13*pm, Thomas Jollans <(E-Mail Removed)> wrote:
> On 08/08/2010 02:35 PM, blur959 wrote:
>
> > 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!

>
> Okay, maybe you've already understood the problem now, but in case you
> haven't:
> '"C:\\"' is no valid file name. The quotes ("") are part of what you're
> passing to the OS here, which you don't want. Just enter the file name
> without quotes. (or, if you really want quoting for some reason, you
> could manually strip the quotes, or use the shlex module.
>
>
>
> > 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()

>
>


okay i got it already thanks alot man! Appreciate it!
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
moving/renaming directory between NFS mounts Marten Lehmann Perl Misc 0 11-21-2008 05:33 PM
System.IO.Directory.GetDirectories() and System.IO.Directory.GetFiles() are not returning the specified directory Nathan Sokalski ASP .Net 2 09-06-2007 03:58 PM
Renaming all files in a directory Robizzle C++ 5 11-21-2005 03:14 PM
Renaming files in the flash. AM Cisco 0 08-17-2005 05:08 PM
renaming files using asp Roy Terrazas ASP .Net 1 07-30-2003 03:08 AM



Advertisments