用于URL拆分的Python脚本
我刚开始学习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 HTTP
和 ie6.css HTTP
。
所以,专家们,请帮我写一个Python脚本来实现这个分割。
4 个回答
0
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。比如说,我们可能希望在用户输入错误时,程序能够给出提示,或者在某个变量的值达到一定标准时,程序才继续运行。这种情况下,我们就会用到“条件语句”。
条件语句就像是一个判断的工具,它会检查某个条件是否成立。如果条件成立,程序就会执行特定的代码;如果条件不成立,程序则会跳过这些代码,或者执行其他的代码。
比如说,假设我们有一个简单的程序,它需要判断一个数字是否大于10。如果这个数字大于10,程序就会显示“这个数字很大”;如果不大于10,程序就会显示“这个数字不大”。这样的判断可以帮助我们控制程序的流程,让它根据不同的情况做出不同的反应。
总之,条件语句是编程中非常重要的一部分,它帮助我们让程序变得更加智能和灵活。
data = [
"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"
]
for url in data:
print url.split(' ')[1].split('/')[-1]
1
这段代码是用来处理一些特定的任务的。它可能涉及到一些数据的输入、处理和输出。具体来说,代码块中的内容可能会包含一些变量、函数或者其他编程元素,这些都是用来帮助程序完成它的工作。
如果你看到类似于
data = [
"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"
]
for url in data:
print url.split(' ')[1].split('/')[-2]
这样的占位符,通常意味着这里应该有一段代码,但在这个上下文中我们并不需要具体的代码内容。只要理解这个代码块是用来执行某种功能的就可以了。
3
假设你的文件名里没有空格,而且你不想在最后加上“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'