获取文件下载链接后缀或文件名后缀

在写爬虫爬取下载链接来下载文件时,需要判断文件下载链接的后缀来命名文件,可以使用os库中获取文件名后缀的方法

完整下载链接:

import os

# 完整下载链接
link = "https://html/sm01.pdf"

# 使用os.path.splitext()获取路径和后缀
path, suffix = os.path.splitext(link)

print("路径:", path)  # 输出: 路径: https://html/sm01
print("后缀:", suffix)  # 输出: 后缀: .pdf

在这里插入图片描述

下载链接尾部片段:

import os

# 下载链接片段
link = "html/sm01.pdf"

# 使用os.path.splitext()获取路径和后缀
path, suffix = os.path.splitext(link)

print("路径:", path)  # 输出: 路径: html/sm01
print("后缀:", suffix)  # 输出: 后缀: .pdf

在这里插入图片描述

当然,也可以用来获取文件路径和文件后缀

### Java 中根据文件路径提取不带后缀文件名 在 Java 编程中,可以通过多种方式来获取给定文件路径对应的文件名并去除其后缀。以下是几种常见方法: #### 使用 `FilenameUtils` 类 Apache Commons IO 库提供了方便的方法用于处理文件路径和名称。 ```java import org.apache.commons.io.FilenameUtils; public class FileNameExtractor { /** * 获取不带文件路径、后缀文件名称 * * @param filePath 文件路径 * @return 没有文件路径和后缀文件名称 */ public static String getRealFileName(String filePath) { if (filePath == null || filePath.isEmpty()) { return null; } String realName = FilenameUtils.getBaseName(filePath); return realName; } } ``` 此代码片段展示了如何利用 Apache Commons IO 的 `FilenameUtils.getBaseName()` 函数轻松获得去掉路径和扩展后的纯文件名[^1]。 #### 手动解析字符串 如果不希望依赖第三方库,则可以手动编写逻辑来完成相同的操作。 ```java public class ManualFileNameExtractor { /** * 去除文件名中的后缀部分 * * @param fileName 完整文件名(可能带有路径) * @return 不含后缀文件名 */ public static String removeExtension(String fileName) { int lastDotIndex = fileName.lastIndexOf('.'); if (lastDotIndex != -1 && lastDotIndex < fileName.length() - 1) { return fileName.substring(0, lastDotIndex); } else { return fileName; } } /** * 提取最后一个斜杠之后的部分作为文件名 * * @param fullPath 完整路径 * @return 只包含文件名的字符串 */ private static String extractFileNameFromPath(String fullPath) { int lastIndex = Math.max(fullPath.lastIndexOf('/'), fullPath.lastIndexOf('\\')); return lastIndex >= 0 ? fullPath.substring(lastIndex + 1) : fullPath; } /** * 组合函数以移除路径和后缀 * * @param path 输入路径 * @return 清理过后的文件名 */ public static String cleanUpFilePath(String path) { String fileNameOnly = extractFileNameFromPath(path.trim()); return removeExtension(fileNameOnly); } } ``` 这段代码实现了两个辅助方法:一个是用来找到并删除最后一个小数点后面的内容;另一个是从完整的路径中分离出仅有的文件名[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

荔枝吻

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

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

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

打赏作者

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

抵扣说明:

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

余额充值