You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python检查URL文件是否存在并按序列规则上传新文件

实现步骤

1. 实现URL存在性检查函数

首先需要一个函数判断目标URL对应的文件是否存在,用requests库发送HEAD请求验证更高效:

import requests

def is_url_exists(url):
    try:
        response = requests.head(url, allow_redirects=True)
        # 多数场景下200状态码代表文件存在,404代表不存在,可根据服务器规则调整
        return response.status_code == 200
    except requests.exceptions.RequestException:
        # 网络异常等情况默认视为文件不存在,可按需修改逻辑
        return False

2. 生成可用的目标文件URL

编写逻辑从error.txt开始,依次尝试递增命名的URL,直到找到不存在的地址:

def get_available_target_url(base_url):
    # 拆分URL的路径前缀、文件名主体和后缀
    url_prefix, filename = base_url.rsplit('/', 1)
    name_part, ext_part = filename.split('.', 1)
    
    current_url = base_url
    counter = 0
    
    while is_url_exists(current_url):
        counter += 1
        new_filename = f"{name_part}_{counter}.{ext_part}"
        current_url = f"{url_prefix}/{new_filename}"
    
    return current_url

3. 整合上传逻辑

将上述函数与你已有的上传函数结合,完成自动命名上传:

# 假设你的上传函数已定义
def upload(source, destination):
    # 这里替换为你实际的上传逻辑
    print(f"已将文件 {source} 上传至 {destination}")

# 示例调用
source_file = "C:\\DISK_D\\Work\\error.txt"
base_target_url = "https://....//error.txt"

# 获取可用的目标URL
target_url = get_available_target_url(base_target_url)

# 执行上传
upload(source_file, target_url)

注意事项

  • 需提前安装requests库:执行pip install requests即可
  • 若服务器限制HEAD请求,可改用GET请求(但会下载文件内容,效率较低)
  • 状态码判断需匹配实际服务器的响应规则,比如部分服务器可能返回403但文件实际存在,需针对性调整

内容的提问来源于stack exchange,提问作者LM10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:10:27