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