如何從以下位置提取主機名:hostname:/file_name
?例如在ngs.pradhi.com:/upload
中,我想從中提取ngs.pradhi.com
並通過ssh.connect對其進行測試。如何從Python中的給定URL提取主機名?
我該怎麼做?
如何從以下位置提取主機名:hostname:/file_name
?例如在ngs.pradhi.com:/upload
中,我想從中提取ngs.pradhi.com
並通過ssh.connect對其進行測試。如何從Python中的給定URL提取主機名?
我該怎麼做?
您示例中的字符串不是URL,因此您將無法使用標準URL模塊(urlparse
)來解析它。以下是您可以如何做到的:
In [43]: path = 'ngs.pradhi.com:/upload'
In [44]: path.split(':')[0]
Out[44]: 'ngs.pradhi.com'
對於SSH,請看paramiko
。
你應該考慮使用urlparse
模塊:
這個模塊定義了一個標準接口,打破統一資源定位符(URL)的組件(尋址方案,網絡位置,路徑等)絃樂器起來,結合起來組件回URL字符串,以及在「相對URL」轉換爲給定的絕對URL
實施例「基本URL。」:
>>> import urlparse
>>> urlparse.urlparse('http://ngs.pradhi.com/upload')
ParseResult(scheme='http', netloc='ngs.pradhi.com', path='/upload', params='', query='', fragment='')
如果它的形成方式類似http:// host:8080/etc/etc,該怎麼辦? – alemangui
@alemangui:問題中沒有提到這樣的要求。我懷疑使用「URL」這個詞只是一個誤用。無論如何,如果行動計劃澄清了這種或那種方式,這將會有所幫助。 – NPE
謝謝!這就是我需要的。 – sachitad