urllib2 文件名

2024-04-11

如果我使用 urllib2 打开文件,如下所示:

remotefile = urllib2.urlopen('http://example.com/somefile.zip')

除了解析原始 URL 之外,是否有一种简单的方法来获取文件名?

编辑:将打开的文件更改为 urlopen...不知道这是怎么发生的。

编辑2:我最终使用了:

filename = url.split('/')[-1].split('#')[0].split('?')[0]

除非我弄错了,否则这也应该消除所有潜在的查询。


你的意思urllib2.urlopen http://www.python.org/doc/2.5.2/lib/module-urllib2.html#l2h-3928?

您可能会解除intended文件名if服务器通过检查发送 Content-Disposition 标头remotefile.info()['Content-Disposition'],但事实上我认为你只需要解析 url 即可。

你可以使用urlparse.urlsplit,但是如果您有任何像第二个示例中那样的 URL,您最终将不得不自己提取文件名:

>>> urlparse.urlsplit('http://example.com/somefile.zip')
('http', 'example.com', '/somefile.zip', '', '')
>>> urlparse.urlsplit('http://example.com/somedir/somefile.zip')
('http', 'example.com', '/somedir/somefile.zip', '', '')

不妨这样做:

>>> 'http://example.com/somefile.zip'.split('/')[-1]
'somefile.zip'
>>> 'http://example.com/somedir/somefile.zip'.split('/')[-1]
'somefile.zip'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

urllib2 文件名 的相关文章

  • 安装tensorflow的正确命令

    当尝试在 Anaconda 上安装 Tensorflow 时 我尝试了两种类型的命令 conda install tensorflow gpu工作得很好 然而 当尝试conda install c anaconda tensorflow g
  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • 如何使用我自己的自定义表单覆盖 django-rest-auth 中的表单?

    我正在使用 django rest auth 并尝试通过覆盖表单的方法之一来修复密码重置视图中的错误 尽管我已经使用不同的 django rest auth 表单成功完成了类似的操作 但我无法让它在这个表单上工作 无论我做什么 都会使用旧的
  • sy.sympify(str(表达式)) 不等于表达式

    据我了解 str将 SymPy 表达式转换为字符串并sympify将字符串转换为 SymPy 表达式 因此 我希望以下内容成立 对于合理的表达 gt gt gt sy sympify str expr expr True 我尝试过这个 确实
  • 检查子字符串是否在字符串列表中?

    我之前已经找到了这个问题的一些答案 但它们对于当前的Python版本来说似乎已经过时了 或者至少它们对我不起作用 我想检查字符串列表中是否包含子字符串 我只需要布尔结果 我找到了这个解决方案 word to check or wordlis
  • Python函数组成

    我尝试使用良好的语法来实现函数组合 这就是我所得到的 from functools import partial class compfunc partial def lshift self y f lambda args kwargs s
  • 如何在动态执行的代码字符串中使用inspect.getsource?

    如果我在文件中有这段代码 import inspect def sample p1 print p1 return 1 print inspect getsource sample 当我运行脚本时 它按预期工作 在最后一行 源代码sampl
  • 当我从本地计算机更改为虚拟主机时,从 python 脚本调用 pdftotext 不起作用

    我编写了一个小的 python 脚本来解析 提取 PDF 中的信息 我在本地机器上测试了它 我有 python 2 6 2 和 pdftotext 版本 0 12 4 我正在尝试在我的虚拟主机服务器 dreamhost 上运行它 它有 py
  • 如何在 numpy 数组中查找并保存重复的行?

    我有一个数组 例如 Array 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 1 1 1 2 2 2 我想要输出以下内容的东西 Repeated 1 1 1 2 2 2 保留重复行的数量也可以 例如 Repeated 1 1
  • dask apply:AttributeError:“DataFrame”对象没有属性“name”

    我有一个参数数据框 并对每一行应用一个函数 该函数本质上是几个 sql queries 和对结果的简单计算 我正在尝试利用 Dask 的多处理 同时保持结构和界面 下面的例子有效并且确实有显着的提升 def get metrics row
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • 一个类似 dict 的 Python 类

    我想编写一个自定义类 其行为类似于dict 所以 我继承自dict 不过 我的问题是 我是否需要创建一个私有的dict我的成员 init 方法 我不明白这个有什么意义 因为我已经有了dict如果我只是继承自的行为dict 谁能指出为什么大多
  • 在 pygame 中,我如何创建一个数据结构来跟踪调整大小事件和对象的坐标?

    我希望在调整屏幕大小后使鼠标事件与对象保持同步 有人告诉我需要创建一个数据结构来跟踪 调整事件大小 新坐标以匹配调整大小 如何使用简单的代数方程来完成此操作并将其集成到调整大小事件中以进行准确更新 反过来做 创建一个虚拟游戏地图 在绘制场景
  • django 中的身份验证方法返回 None

    你好 我在 django 中做了一个简单的注册和登录页面 当想要登录时 登录视图中的身份验证方法不返回任何内容 我的身份验证应用程序 模型 py from django db import models from django contri
  • 预测测试图像时出现错误 - 无法重塑大小数组

    我正在尝试使用 TensorFlow 和 Keras 在 Python 中进行图像识别 并且我已经关注了下面的博客 https stackabuse com image recognition in python with tensorfl
  • 更新 matplotlib 中颜色条的范围

    我想更新一个contourf在函数内绘制 效果很好 然而 数据的范围发生了变化 因此我还必须更新颜色条 这就是我未能做到的地方 请参阅以下最小工作示例 import matplotlib pyplot as plt import numpy
  • 使用 Sphinx 时,如何记录没有文档字符串的成员?

    我正在为我发布的包编写文档 我发现您的文档越全面 人们就越容易找到您的包来使用 废话 实际上 我在充满爱心地编写代码的所有功能和细节方面获得了很多乐趣 然而 我对如何为类级变量编写与 Sphinx 兼容的文档感到完全困惑 特别是 我有一些e
  • 在不同的 GPU 上同时训练多个 keras/tensorflow 模型

    我想在 Jupyter Notebook 中同时在多个 GPU 上训练多个模型 我正在使用 4GPU 的节点上工作 我想将一个 GPU 分配给一个模型并同时训练 4 个不同的模型 现在 我通过 例如 为一台笔记本选择 GPU import
  • 如何在supervisord中设置组?

    因此 我正在设置 Supervisord 并尝试控制多个进程 并且一切正常 现在我想设置一个组 以便我可以启动 停止不同的进程集 而不是全部或全无 这是我的配置文件的片段 group tapjoy programs tapjoy game1
  • 用 Beautiful Soup 进行抓取:为什么 get_text 方法不返回该元素的文本?

    最近我一直在用 python 开发一个项目 其中涉及抓取一些网站的一些代理 我遇到的问题是 当我尝试抓取某个知名代理站点时 当我要求 Beautiful Soup 查找 IP 在代理表中的位置时 它并没有按照我的预期执行操作 我将尝试查找每

随机推荐

  • 无法加载 RSA 公钥

    我正在尝试读取如下所示的 RSA 公钥 但在第 6 行出现异常 java security spec InvalidKeySpecException java security InvalidKeyException IOException
  • 将浮点数转换为整数

    我试图定义 square Integer gt Integer square round 2 我得到
  • XDebug:Windows + Docker + PHPStorm

    我的操作系统是 Windows 10 我通过 boot2docker 映像运行 Docker 我使用的IDE是PHPStorm 我想做的是使用 XDebug 进行调试 但我没有让它运行 我搜索了网络并尝试了我找到的示例 但没有任何帮助 有相
  • 我收到来自 Retrofit Expected BEGIN_ARRAY but was STRING at line 1 column 1 path $ 的响应错误

    我看了几个答案 我遗漏了一些东西 还有没有办法在 Retrofit 处理之前查看数据 这是代码 extends Activity implements Callback
  • Celery 任务状态取决于 CELERY_TASK_RESULT_EXPIRES

    据我所知 任务状态完全取决于 CELERY TASK RESULT EXPIRES 设置的值 如果我在任务完成执行后检查此间隔内的任务状态 则返回的状态为 AsyncResult task id state 是正确的 如果没有 状态将不会更
  • 在 C - linux 中强制使用原始串行模式

    不知道如何表述标题 但我想做的是用我的 Linux PC 测试我的微控制器 以确保数据正确 经过几个小时的搜索 我发现 stty 命令可以更改通过串行端口管理数据的方式 并且事实证明 默认情况下 如果从端口接收到 xon 或 xoff 字符
  • Spring集成流程的优雅关闭

    我从 spring 集成监控示例中了解到https github com spring projects spring integration samples tree master intermediate monitoring http
  • 有没有一种方法可以捕获异常而无需创建变量?

    在 PHP 中 我有时会使用 try catch 捕获一些异常 try catch Exception e Nothing this is a test that an exception is thrown 通过这种代码 我最终得到了变量
  • 修改存储在变量中的innerHTML不起作用

    我想将页面的显示区域存储在变量中 display在代码中 即innerHTMLdisplaydiv 在我的示例中 但是当我这样做时 我根本无法修改其内容 function stored var display document getEle
  • TEdit 中的 CapsLock 密码消息在视觉上因 VCL 样式而失败

    使用 VCL 样式时 在 TEdit 中使用密码时的 CapsLock 消息会出现错误 这是没有样式的样子 VCL 样式打开 该消息是葡萄牙语的 但我认为这不重要 在 Delphi Seattle 23 0 21418 4207 带有更新
  • 为什么Python中'=='出现在'in'之前? [复制]

    这个问题在这里已经有答案了 下面的代码输出 False 而根据 Python 操作顺序 它应该输出 True 顺序应该是 gt 而不是相反 为什么 出现在 in 之前 y 33 3 in y True Output False 现有的答案提
  • 比较两个字符串是否相等的超级快速方法

    显然 在Python中检查两个字符串是否相等你可以这样做 hello word hello world 但是 如果您要比较很长的字符串 超过 100 万个字符 怎么办 python 中是否有内置方法或任何库可以更快地完成此操作 也许利用卡普
  • 过滤器有问题

    我有课程搜索一切正常 除了 当 r gt price它返回所有课程 而不是最后搜索的课程 我需要捕获最后一个 时间 然后按它过滤价格 我怎样才能做到这一点 courses Course when r gt mainCat function
  • 用户订单(买入/卖出)的股票期权价格变化

    继这个问题生成虚构的股票期权价格变化 https stackoverflow com questions 9353938 generate a fictitious stock option price variation 我希望模拟价格变
  • MySQL 命令行中的 Unicode 转义序列

    简洁版本 可以使用哪种转义序列在命令行 mysql 中搜索 unicode 字符 长版 我正在寻找一种方法 从命令行在 mysql 中搜索包含 unicode 序列 U 200B 的记录的列 我不知道该使用哪种逃避方式 我已经尝试过并且x2
  • 让表示层(JSF)处理来自服务层(EJB)的业务异常

    更新提供的实体的 EJB 方法 使用 CMT Override SuppressWarnings unchecked public boolean update Entity entity throws OptimisticLockExce
  • 为什么 debug_backtrace() 使用这么多内存?

    当尝试跟踪 PHP 中的一些内存问题时 我注意到debug backtrace 我在日志代码中调用它 似乎使用了大量内存 在大多数情况下 以下代码会打印类似的内容0 02 MB 但在一种情况下 它会打印171 85 MB before me
  • 从 Docker 中的 Python 访问 GCP Secret Manager 中的机密 - nontsop 权限被拒绝

    我正在构建一个简单的应用程序 它将 Twilio 凭据存储在 GCP Secret Manager 中 并在需要时将其拉下 但是 我在项目资源上不断收到拒绝权限错误 403 google api core exceptions Permis
  • 浏览器用户代理样式表边距 8px

    我只是想知道网站周围的空白区域 我发现它是因为用户代理样式表 Google Chrome 而存在的 并且默认为 body 标签设置了 8px 的边距 如何解决这个问题不是问题 但我对这个余量的原因感兴趣 我搜索了它 但我只找到了将边距设置为
  • urllib2 文件名

    如果我使用 urllib2 打开文件 如下所示 remotefile urllib2 urlopen http example com somefile zip 除了解析原始 URL 之外 是否有一种简单的方法来获取文件名 编辑 将打开的文