首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python 放入必备的几个代码示例

python 放入必备的几个代码示例

原创
作者头像
小焱写作
发布2025-09-07 09:47:17
发布2025-09-07 09:47:17
9400
代码可运行
举报
运行总次数:0
代码可运行

python 放入必备的几个代码示例

  1. 文件批量重命名工具import os def batch_rename_files(folder_path, prefix): """ 批量重命名指定文件夹中的所有文件 :param folder_path: 文件夹路径 :param prefix: 新文件名前缀 """ if not os.path.isdir(folder_path): print(f"错误: {folder_path} 不是一个有效的文件夹") return file_list = os.listdir(folder_path) count = 1 for file_name in file_list: old_path = os.path.join(folder_path, file_name) # 跳过文件夹,只处理文件 if os.path.isdir(old_path): continue # 获取文件扩展名 file_ext = os.path.splitext(file_name)[1] # 构建新文件名 new_file_name = f"{prefix}_{count:03d}{file_ext}" new_path = os.path.join(folder_path, new_file_name) # 重命名文件 os.rename(old_path, new_path) print(f"重命名: {file_name} -> {new_file_name}") count += 1 # 使用示例 if __name__ == "__main__": batch_rename_files("/path/to/your/files", "file")
  2. 简单的文本内容搜索工具import os def search_text_in_files(folder_path, search_text, case_sensitive=False): """ 在指定文件夹的所有文件中搜索文本 :param folder_path: 文件夹路径 :param search_text: 要搜索的文本 :param case_sensitive: 是否区分大小写 """ if not os.path.isdir(folder_path): print(f"错误: {folder_path} 不是一个有效的文件夹") return # 遍历文件夹中的所有文件 for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) # 尝试打开并读取文件 try: with open(file_path, 'r', encoding='utf-8') as f: content = f.read() # 根据是否区分大小写进行搜索 if case_sensitive: if search_text in content: print(f"在文件中找到: {file_path}") else: if search_text.lower() in content.lower(): print(f"在文件中找到: {file_path}") except UnicodeDecodeError: # 跳过二进制文件 continue except Exception as e: print(f"读取文件 {file_path} 时出错: {e}") # 使用示例 if __name__ == "__main__": search_text_in_files("/path/to/your/files", "example", case_sensitive=False)
  3. 简易的HTTP服务器import http.server import socketserver import argparse def start_server(port=8000, directory='.'): """ 启动一个简单的HTTP服务器 :param port: 端口号 :param directory: 要共享的目录 """ Handler = http.server.SimpleHTTPRequestHandler Handler.directory = directory with socketserver.TCPServer(("", port), Handler) as httpd: print(f"服务器启动在 http://localhost:{port}") print(f"共享目录: {os.path.abspath(directory)}") try: httpd.serve_forever() except KeyboardInterrupt: print("\n服务器已停止") # 使用示例 if __name__ == "__main__": parser = argparse.ArgumentParser(description='启动简易HTTP服务器') parser.add_argument('-p', '--port', type=int, default=8000, help='端口号') parser.add_argument('-d', '--dir', type=str, default='.', help='要共享的目录') args = parser.parse_args() start_server(args.port, args.dir)
代码语言:python
代码运行次数:0
运行
复制
import os
import shutil
import datetime

def backup_files(source, destination):
    """
    备份文件或目录到指定位置
    :param source: 源文件或目录路径
    :param destination: 备份目标路径
    """
    # 检查源是否存在
    if not os.path.exists(source):
        print(f"错误: 源 {source} 不存在")
        return
    
    # 获取当前日期时间作为备份文件名的一部分
    timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
    
    # 构建备份文件名
    source_name = os.path.basename(source)
    backup_name = f"{source_name}_backup_{timestamp}"
    backup_path = os.path.join(destination, backup_name)
    
    try:
        # 如果是目录,使用copytree
        if os.path.isdir(source):
            shutil.copytree(source, backup_path)
            print(f"目录备份成功: {backup_path}")
        # 如果是文件,使用copy2保留元数据
        else:
            shutil.copy2(source, backup_path)
            print(f"文件备份成功: {backup_path}")
            
    except Exception as e:
        print(f"备份失败: {e}")

# 使用示例
if __name__ == "__main__":
    # 要备份的文件或目录列表
    sources_to_backup = [
        "/path/to/important/file.txt",
        "/path/to/important/folder"
    ]
    
    # 备份存储位置
    backup_destination = "/path/to/backup/location"
    
    # 确保备份目录存在
    if not os.path.exists(backup_destination):
        os.makedirs(backup_destination)
    
    # 执行备份
    for source in sources_to_backup:
        backup_files(source, backup_destination)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档