用于 URL 分割的 Python 脚本

标签 python regex

我是 python 新手,正在学习基础知识。

我的查询: 我有多个页面作为来自日志文件的请求进行访问,如下所示,

"GET /img/home/search-user-ico.jpg HTTP/1.1"  
"GET /SpellCheck/am.tlx HTTP/1.1"
"GET /img/plan-comp-nav.jpg HTTP/1.1" 
"GET /ie6.css HTTP/1.1"
"GET /img/portlet/portlet-content-bg.jpg HTTP/1.1"
"GET /SpellCheck/am100k2.clx HTTP/1.1" 
"GET /SpellCheck/am.tlx HTTP/1.1" 

我的问题是我只想要页面中的文件部分, 例如, 让我们将 "GET/img/home/search-user-ico.jpg HTTP/1.1","GET/ie6.css HTTP/1.1" 视为一个页面,然后从上面我想拆分search-user-ico.jpg HTTPie6.css HTTP

所以请专家帮我编写上面的Python脚本来分割。

最佳答案

假设文件名中没有空格,并且您不希望末尾有“HTTP”。

您可以按空格分割该行。

parts = line.split(" ")

然后使用os模块从路径中获取文件名。

filename = os.path.basename(parts[1])

例如。

>>> line = "GET /img/home/search-user-ico.jpg HTTP/1.1"
>>> parts = line.split(" ")
>>> parts[1]
'/img/home/search-user-ico.jpg'
>>> os.path.basename(parts[1])
'search-user-ico.jpg'

关于用于 URL 分割的 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5700552/

相关文章:

regex - 搜索具有端口模式的 IP

用 gsub 替换特殊字符

python - 关于使用column.isnull()&column.str.len() > n进行df条件选择的问题

python - Django 模板中的二进制图像显示

python - 如何在 Django 中从 Cloud Run 下载大文件

python - bar() 缺少 1 个必需的位置参数 : 'left'

java - 子进程:不输出

java分隔符错误

ruby: 优化 => phrase.split(delimiter).collect {|p| p.lstrip.rstrip }

regex - PowerShell -match 与 -like