I'm creating a script that renames a folder to "foldername_original" but I'm getting invalid argument error.
Here is my script
import glob, os
import shutil
path= input("Path to directory containing the dataset: ")
ext = input("Extention of the dataset (eg. txt): ")
data_files = []
def get_file_list():
os.chdir(path)
for file in glob.glob("*."+ext):
data_files.append(file)
data_length = len(data_files)
print("Total files with extention *."+ext+" found: "+ str(data_length))
batch_size= input("Please enter the required batch size: ")
folder_rename()
def folder_rename():
data_folder_name = os.path.basename(path)
print("Original dataset folder path: ")
print(path)
os.rename(path, os.path.basename(path)+"_original")
new_path= path+"_original"
print("Original dataset folder renamed to: "+ data_folder_name+"_original" )
print("Original dataset new path is: "+new_path)
here is the error output
Traceback (most recent call last):
File "data_batch.py", line 47, in <module>
get_file_list()
File "data_batch.py", line 23, in get_file_list
folder_rename()
File "data_batch.py", line 29, in folder_rename
os.rename(path, os.path.basename(path)+"_original")
OSError: [Errno 22] Invalid argument: '/mainfs/scratch/ah/Datasets_sample/raw/2018/fk180731/tuna_sand/20180811_153727_ts_un6k_NEW/image/i20180811_153727' -> 'i20180811_153727_original'
You can do it by
os.rename(path, path+"_original")
the os.path.basename(path)+"_original" is not giving the full path that os.rename is expecting
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With