这里写自定义目录标题
python的几种方式打开文件夹和文件
常见场景,需要修改文件夹名字,或递归修改文件名。
方法一
#!/usr/bin/python3
import os
def rename_files(directory):
# 获取目录下的所有文件和文件夹
entries = os.scandir(directory)
for entry in entries:
if entry.is_dir() or entry.is_file():
# 获取文件或文件夹的路径和名称
path = os.path.join(directory, entry.name)
new_name = entry.name.replace('str', 'old_str')
#将old_str改名为str
if new_name != entry.name:
# 重命名文件或文件夹
os.rename(path, os.path.join(directory, new_name))
print(f'Renamed {entry.name} to {new_name}')
if entry.is_dir():
# 递归处理子目录
rename_files(path)
# 指定要处理的目录
directory = '/path/to/directory'
# 调用函数执行重命名操作
rename_files(directory)
方法二
import os
def rename_files(directory):
# 获取目录下的所有文件和文件夹
entries = os.scandir(directory)
for entry in entries:
if entry.is_dir() or entry.is_file():
# 获取文件或文件夹的路径和名称
path = os.path.join(directory, entry.name)
if 'str' in entry.name:
# 将带有特定字符的目录名或文件名重命名为'old_str'
new_name = entry.name.replace('str', 'old_str')
os.rename(path, os.path.join(directory, new_name))
print(f'Renamed {entry.name} to {new_name}')
if entry.is_dir():
# 递归处理子目录
rename_files(path)
# 指定要处理的目录
directory = '/path/to/directory'
# 调用函数执行重命名操作
rename_files(directory)
方法三 os.walk
import os
def rename_files(directory):
for root, dirs, files in os.walk(directory):
for filename in files:
if 'str' in filename:
old_path = os.path.join(root, filename)
new_filename = filename.replace('str', 'old_str')
new_path = os.path.join(root, new_filename)
os.rename(old_path, new_path)
print(f'Renamed {old_path} to {new_path}')
# 指定要处理的目录
directory = '/path/to/directory'
# 调用函数执行重命名操作
rename_files(directory)
方法四
import os
def get_files_in_folder(folder_path):
files = []
for root, directories, filenames in os.walk(folder_path):
for filename in filenames:
file_path = os.path.join(root, filename)
files.append(file_path)
return files
folder_path = "./" # 当前文件夹路径
files = get_files_in_folder(folder_path)
print(files)
def remove_comments(filename):
with open(filename, 'r') as file:
lines = file.readlines()
with open(filename, 'w') as file:
for line in lines:
if not line.strip().startswith("#"):
file.write(line)
filename = "example.py" # 文件路径
remove_comments(filename)