2011-03-18 113 views
1

有沒有辦法將sys.stdout.write的輸出添加到變量?或者有沒有更好的方式來做我在jython中做的事情:將sys.stdout.write輸出添加到變量

我有一個網址(「www.example.com/whateverpage.html」),我想創建一個變量,讓我的腳本點擊進入,因此最終結果必須是:

HtmlAnchor[<a href="www.example.com/whateverpage.html">] 

我嘗試使用pageAnchor = 'HtmlAnchor[<a href="',PageLink,'">]' 但它沒有工作,因爲它輸出的href和PageLink變量之間的空間。所以我覺得我很聰明(顯然我遠離:-),並使用stdout.write打印空間,但是當我在腳本中輸出它看起來很完美,但是當我嘗試將它保存到一個變量,然後打印我得到的變量(None,None,None)。

我想這樣做的另一種方法是使用regexpressions擺脫的空間,但我需要「a」和「href」屬性

之間的空間我敢肯定有一個簡單的方法,我只是沒有看到,任何人都可以給我任何指針.. 謝謝!

回答

3

也許你想pageAnchor = ''.join(['HtmlAnchor[<a href="',PageLink,'">]'])

或者乾脆'HtmlAnchor[<a href="' + PageLink + '">]'

但它遠未清楚,對我來說,你要完成的任務。

+0

非常感謝您Jcomeau。 ..那就是問題所在。我用來提取鏈接的軟件(beautifulsoup)與我用來點擊頁面和導航(htmlunit)不一樣。 – Lostsoul 2011-03-18 03:15:31

1

嘗試簡單的東西,format strings :)

>>> addr="www.example.com" 
>>> s = "HtmlAnchor[<a href=\"%s\">]" % addr 
>>> s 
'HtmlAnchor[<a href="www.example.com">]' 
>>> 
+0

非常感謝Sarnold的回答。我想我現在明白了。我不知道這個「%s」我會玩弄它。非常感謝你。 – Lostsoul 2011-03-18 03:21:20

+0

Lostsoul,'\「'只是因爲你想在HTML輸出中使用''''。它也可能是:'s =「HtmlAnchor」%addr「 - '''不需要雙引號字符串中的引號。 – sarnold 2011-03-18 03:24:20

+1

格式化字符串的%風格被慢慢棄用,首選的新方法是使用格式化函數。 '「HtmlAnchor []」。format(addr)'。見[這裏](http://docs.python.org/tutorial/inputoutput.html#fancier-output-formatting)獲取更多信息 – JHSaunders 2011-03-18 03:41:51