Python:重命名文件夹

时间:2020-06-19 13:04:48

标签: python python-3.x

我正在创建一个将文件夹重命名为“ foldername_original”的脚本,但是出现了无效的参数错误。

这是我的剧本

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)

这是错误输出

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/ah1g19/Datasets_sample/raw/2018/fk180731/tuna_sand/20180811_153727_ts_un6k_NEW/image/i20180811_153727' -> 'i20180811_153727_original'

1 个答案:

答案 0 :(得分:1)

您可以通过

os.rename(path, path+"_original")

os.path.basename(path)+“ _ original”没有提供os.rename期望的完整路径