Dear Tutor,

I want to change the name of the folders and the files in the tree.
All those folders and files starting with name string '---'.
Examples:
If a  folder name is : \---DAT1
I want to change this to: \changedDAT1
If a file name is: \---00001.txt
I want to change this to: \changed00001.txt

I have attached the code and output to this email.
Specifically, I like to provide correct syntax (dst / destination) for line 6 
code block below!
I have not understood the syntax.

Thanks in advance, for your help .
best,
banda
+


for root, dirs, files in os.walk(".", topdown=False):
    for name in files:
        print(os.path.join(root, name))
        os.rename(name.replace("---", "changed"))
        list_of_files[name] = os.sep.join([dirpath, name])
        print (list_of_files)

    for name in dirs:
        print(os.path.join(root, name))


.\---DAT1\---00001.txt


---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-6-b679212713d0> in <module>()
      2     for name in files:
      3         print(os.path.join(root, name))
----> 4         os.rename(name.replace("---", "changed"))
      5         list_of_files[name] = os.sep.join([dirpath, name])
      6         print (list_of_files)

TypeError: Required argument 'dst' (pos 2) not found

_end_of_email

                                                                      In [1]:

 import os
 import sys
 import glob

                                                                      In [2]:

 print ("Current directory is %s: " %os.getcwd())

 Current directory is C:\Users\mysku\AnacondaProjects:

                                                                      In [3]:

 path = "E://"

 # Check current working directory.
 retval = os.getcwd()
 print ("Current working directory %s" % retval)

 # Now change the directory
 os.chdir( path )

 # Check current working directory.
 retval = os.getcwd()

 print ("Directory changed successfully %s" % retval)

 Current working directory C:\Users\mysku\AnacondaProjects
 Directory changed successfully E:\

                                                                      In [4]:

 # listing directories
 print ("The dir is: %s"%os.listdir(os.getcwd()))

 The dir is: ['---DAT1', '---DAT2']

                                                                      In [5]:

 for root, dirs, files in os.walk(".", topdown=False):
     for name in files:
         print(os.path.join(root, name))
     for name in dirs:
         print(os.path.join(root, name))

 .\---DAT1\---00001.txt
 .\---DAT1\---00002.txt
 .\---DAT1\---00003.txt
 .\---DAT2\---00005.txt
 .\---DAT2\---00006.txt
 .\---DAT2\---00007.txt
 .\---DAT1
 .\---DAT2

   this works for root folders

   for fileName in os.listdir("."): os.rename(fileName,
   fileName.replace("---", "changed"))

                                                                      In [6]:

 for root, dirs, files in os.walk(".", topdown=False):
     for name in files:
         print(os.path.join(root, name))
         os.rename(name.replace("---", "changed"))
         list_of_files[name] = os.sep.join([dirpath, name])
         print (list_of_files)

     for name in dirs:
         print(os.path.join(root, name))

 .\---DAT1\---00001.txt

 ---------------------------------------------------------------------------
 TypeError                                 Traceback (most recent call last)
 <ipython-input-6-b679212713d0> in <module>()
       2     for name in files:
       3         print(os.path.join(root, name))
 ----> 4         os.rename(name.replace("---", "changed"))
       5         list_of_files[name] = os.sep.join([dirpath, name])
       6         print (list_of_files)

 TypeError: Required argument 'dst' (pos 2) not found
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to