olD = http://test:7000/vcc3
NEW = http://test:7777/vcc3
我尝试下面的代码,我能够更改URL但无法更改端口.
>>> from urlparse import urlparse>>> aaa = urlparse('http://test:7000/vcc3')>>> aaa.hostnametest>>> aaa.port7000>>>aaa._replace(netloc=aaa.netloc.replace(aaa.hostname,"newurl")).geturl()'http://newurl:7000/vcc3'>>>aaa._replace(netloc=aaa.netloc.replace(aaa.port,"7777")).geturl()Traceback (most recent call last):file "<stdin>",line 1,in <module>TypeError: expected a character buffer object解决方法 这不是一个特别好的错误信息.它抱怨,因为你将ParseResult.port(一个int)传递给字符串的replace方法,它需要一个str.只需将端口字符串化,然后再将其传入:
aaa._replace(netloc=aaa.netloc.replace(str(aaa.port),"7777"))
我很惊讶没有一种使用urlparse库设置端口的简单方法.这感觉就像一个疏忽.理想情况下,你可以说像parseresult._replace(port = 7777),但唉,@L_301_2@.
总结以上是内存溢出为你收集整理的使用python替换url中的端口全部内容,希望文章能够帮你解决使用python替换url中的端口所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)