我是 Python 新手,但无法获得我想要的结果。我正在打开一个名为 urldata.txt 的文本文件,其中包含我需要按方案、服务器和路径进行分割的 URL。
我已经从文件中检索了数据:
urls = open("urldata.txt").read()
print(urls)
返回:
http://www.google.com
https://twitter.com/search?q=%23ASUcis355
https://github.com/asu-cis-355/course-info
我想将这些 URL 分成 3 个部分,这样当我输入时
urls.scheme()
urls.server()
urls.path()
当我输入时,它会返回每个 URL 的方案
urls.scheme()
'http','https','https'
然后当我输入时它会返回服务器
urls.server()
'google.com'
'twitter.com'
'github.com'
最后,它会返回我输入时的路径
urls.path()
'/'
'/search?q=%23ASUcis355'
'/asu-cis-355/course-info'
我定义了一个类来执行此操作;但是,我收到一条错误消息,指出 'scheme() 缺少 1 个必需的位置参数:'self' 下面是我的类以及我创建的 def 部分。
class urls:
def __init__(self,url):
self.urls=urls
def scheme(self):
return urls.split("://")[0]
def server(self):
return urls.split("/")[2]
def path(self):
return urls.split(".com/")[1]
非常感谢任何帮助!
最佳答案
这已经存在了。它的名字叫urlparse :
from urllib.parse import urlparse
d = urlparse('https://twitter.com/search?q=%23ASUcis355')
print(d)
输出:
ParseResult(scheme='https', netloc='twitter.com', path='/search', params='', query='q=%23ASUcis355', fragment='')
关于python - 在Python中在列表中分割行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36098301/