结合Trae和Pycharm使用提升开发效率

测试需求

用python写一个脚本,批量把excel 中的文件链接对应的文件下载到本地目录

前提

pipenv管理python版本,在电脑上提前安装好pipenv

测试过程

1、在Trae中输入需求,先让Trae生成对应的脚本。

Trae会进行思考,创建虚拟环境,下载对应依赖:

2、在Pycharm中打开同一个项目目录,打开刚刚Trae生成的脚本,初步看看有什么问题:(Trae中用pipenv创建的虚拟环境,在pycharm中会自动引用,所以能够保证运行环境一致。)

 3、把pycharm中提示的错误和警告等信息复制到Trae中,让Trae修改试试(也可以直接在Pycharm中修改运行测试)

Trae中会在对应的行上标记有哪些修改,点击“接受”即可。然后在Pycharm中查看,发现还是正确修改,无效的引用都还在。。。目前是用的Doubao-1.5-pro模型,看起来效果并不理想,换一个模型试试,直接点击模型切换DeepSeek R1:

 发现问题更多了,连基本缩进都是错误的:

再试几次:

这次的效果还不错,没有明显的错误:

运行试试:

所有需要的文件都很快下载下来了!

代码:

# -*- coding: utf-8 -*-

import pandas as pd
import requests
from pathlib import Path
from concurrent.futures import ThreadPoolExecutor, as_completed
from threading import Lock


def sanitize_filename(name):
    return "".join(c for c in str(name) if c not in '<>:"/\\|?*')


def download_task(col_name: str, idx_inner: int, row_inner: pd.Series, thread_lock: Lock):
    col_dir = Path(col_name)
    with thread_lock:
        col_dir.mkdir(exist_ok=True)
    try:
        url = row_inner[col_name]
        if pd.isna(url):
            return

        response = requests.get(url, timeout=15)
        response.raise_for_status()

        content_type = response.headers.get('Content-Type', '').lower()
        ext_map = {
            'application/pdf': 'pdf',
            'image/png': 'png',
            'image/jpeg': 'jpg',
            'application/octet-stream': 'dat',
            'text/plain': 'txt'
        }
        ext = next((v for k, v in ext_map.items() if k in content_type), 'bin')

        filename = f"{idx_inner + 1}_{row_inner['ID']}_{row_inner['Garment ID']}_{sanitize_filename(row_inner['Name'])}.{ext}"
        filepath = col_dir / filename

        with open(filepath, 'wb') as f:
            f.write(response.content)

        log_message(thread_lock, col_dir, 'download.log', f"Success: {filename}\n")

    except Exception as ex:
        log_message(thread_lock, col_dir, 'errors.log', f"Row {idx_inner + 1} [{col_name}] error: {str(ex)}\n")


def log_message(thread_lock: Lock, col_dir: Path, log_file: str, message: str):
    with thread_lock:
        with open(col_dir / log_file, 'a', encoding='utf-8') as log:
            log.write(message)


try:
    df = pd.read_excel('excels/Garment.xlsx', engine='openpyxl')
    required_columns = ['2D Pattern File', 'Virtual Fitting', 'Comfort Dat File ID', 'ID', 'Garment ID', 'Name']

    if not all(col in df.columns for col in required_columns):
        missing = [col for col in required_columns if col not in df.columns]
        raise ValueError(f"Missing required columns: {', '.join(missing)}")

    download_columns = ['2D Pattern File', 'Virtual Fitting', 'Comfort Dat File ID']

    main_lock = Lock()

    with ThreadPoolExecutor(max_workers=8) as executor:
        futures = []
        for col in download_columns:
            for idx_outer, row_outer in df.iterrows():
                futures.append(
                    executor.submit(download_task, col_name=col, idx_inner=int(idx_outer), row_inner=row_outer,
                                    thread_lock=main_lock))

        for future in as_completed(futures):
            future.result()

    print("所有下载任务已完成,请检查各目录下的日志文件")
    print("Download completed. Check logs for details")

except Exception as e:
    print("Error: {}".format(str(e)))

 总结

1、Trae中模型选择DeepSeek R1优于Doubao。

2、复杂项目可以在pycharm中断点调试,可以快速查看错误信息。

要将 PyCharm 的设置导出并在 Trae(假设是指另一台设备上的 PyCharm 或其他兼容 IDE)中导入,可以通过以下方法实现: ### 导出 PyCharm 配置 在原始机器上执行以下操作来导出 PyCharm 设置: 1. 打开 PyCharm 并进入菜单栏 `File` -> `Export Settings...`。 2. 勾选需要导出的配置项并指定保存路径,通常会生成一个名为 `settings.zip` 的压缩文件[^1]。 此过程确保了所有自定义设置被完整打包成单一文件形式存储于本地磁盘。 ### 将设置迁移至新环境 (Trae) #### 方法一:通过 Import Settings 功能 1. 在目标机器启动 PyCharm 后转至 `File` 菜单选取 `Import Settings...` 选项。 2. 浏览定位到之前创建好的 `settings.zip` 文件位置加载它。 3. 完成上述步骤之后按照指示确认覆盖默认设定即可恢复个人偏好参数。 注意:部分高级插件或者特殊布局可能无法完全同步需手动调整优化[^3]。 #### 方法二:利用共享目录或云服务自动同步 对于频繁更换工作地点的情况还可以考虑启用 JetBrains 提供的跨平台同步解决方案——即开启“Settings Repository”功能。这允许开发者将自己的定制化方案上传云端仓库从而方便多端访问更新而无需重复劳动。 另外值得注意的是除了界面外观等功能层面外还应该关注依赖库版本一致性问题可通过命令行工具pip管理虚拟环境中所需软件包清单以便移植时参照重建相同运行条件[^2]: ```bash # 导出当前项目的依赖关系表为txt文档便于后续查阅对照安装 pip freeze > requirements.txt # 新建实例依据记录快速部署相匹配组件集合 pip install -r requirements.txt ``` 最后如果是涉及到数据库连接之类的额外资源链接则依照实际情况采取对应措施比如借助mysqldump命令备份还原整个结构体及其内容数据[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

monika_yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值