将文件名更改为文件夹名
Changing the name of the file to folder name
我有一些文件,我想将名称更改为它们的文件夹名称。但是,问题是有时它们位于主文件夹中,有时位于子文件夹中。
例如,假设 "Es" 是主目录
那么我有三个选择:
Es--> France---_-2011 --> import.csv
Es--> Italy---_-2012 --> files --> import.csv
Es -->France---_-2012 --> files --> recent --> import.csv
我想要的输出是:第一个是法国----2011.csv,第二个是意大利----2012.csv, France---_-2012.csv第三个
我有这样的东西:
# Core settings
rootdir = 'C:\Users\es\den'
extension = ".zip"
for root, dirs, files in os.walk(rootdir):
if not root.endswith(extension):
new_list = []
for file in files:
if file.endswith(".csv"):
os.chdir(root)
print(root)
add_id = root.split("---_-")[1]
add_id = add_id.split("\")[0]
print(add_id)
我该怎么做?
加入路径(ref)
full_path = os.path.join(root, file)
# C:\Users\Es\France-----2011\import.csv
获取相对路径(ref)
rel_path = os.path.relpath(full_path, rootdir)
# France-----2011\import.csv
拆分目录(ref)
the_dir_name = rel_path.split(os.sep)[0]
# France-----2011
重命名 (ref)
new_filename = the_dir_name + ".csv"
os.rename(full_path, os.path.join(root, new_filename))
# rename C:\Users\Es\France-----2011\import.csv
# to C:\Users\Es\France-----2011\France-----2011.csv
我有一些文件,我想将名称更改为它们的文件夹名称。但是,问题是有时它们位于主文件夹中,有时位于子文件夹中。 例如,假设 "Es" 是主目录 那么我有三个选择:
Es--> France---_-2011 --> import.csv
Es--> Italy---_-2012 --> files --> import.csv
Es -->France---_-2012 --> files --> recent --> import.csv
我想要的输出是:第一个是法国----2011.csv,第二个是意大利----2012.csv, France---_-2012.csv第三个
我有这样的东西:
# Core settings
rootdir = 'C:\Users\es\den'
extension = ".zip"
for root, dirs, files in os.walk(rootdir):
if not root.endswith(extension):
new_list = []
for file in files:
if file.endswith(".csv"):
os.chdir(root)
print(root)
add_id = root.split("---_-")[1]
add_id = add_id.split("\")[0]
print(add_id)
我该怎么做?
加入路径(ref)
full_path = os.path.join(root, file)
# C:\Users\Es\France-----2011\import.csv
获取相对路径(ref)
rel_path = os.path.relpath(full_path, rootdir)
# France-----2011\import.csv
拆分目录(ref)
the_dir_name = rel_path.split(os.sep)[0]
# France-----2011
重命名 (ref)
new_filename = the_dir_name + ".csv"
os.rename(full_path, os.path.join(root, new_filename))
# rename C:\Users\Es\France-----2011\import.csv
# to C:\Users\Es\France-----2011\France-----2011.csv