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 - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor