對不起,對於這個問題,我知道這是一個經常性的話題,但我無法解決我的問題,實際上這很容易描述:我想寫入一個將執行的輸出文件歸檔爲。我的意思是,我有一個這樣的輸出(遺憾的混亂):在python中編寫控制檯輸出到一個文件
.251.242.133|:80... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 2371567 (2.3M) [application/x-gzip]\r\nSaving to: `110907_ERP000591.tar.gz\'\r\n\r\n\r 0% [ ] 0 --.-K/s \r 0% [ ] 23,003 104K/s \r 3% [> ] 82,863 184K/s \r 8% [==> ] 192,363 282K/s \r15% [=====> ] 371,943 411K/s \r26% [=========> ] 634,175 563K/s \r39% [==============> ] 925,283 680K/s \r52% [===================> ] 1,250,295 790K/s \r63% [=======================> ] 1,497,035 830K/s \r73% [===========================> ] 1,732,663 861K/s \r81% [==============================> ] 1,937,063 867K/s \r88% [=================================> ] 2,099,123 855K/s \r95% [====================================> ] 2,268,483 847K/s \r100%[======================================>] 2,371,567 849K/s in 2.7s \r\n\r\n2012-11-01 15:34:10 (849 KB/s) - `110907_ERP000591.tar.gz\' saved [2371567/2371567]\r\n\r\n110907_ERP000591/\r\n110907_ERP000591/1_110907_ERP000591_2_fastq.txt\r\n110907_ERP000591/1_110907_ERP000591_1_fastq.txt\r\n/home/travis/opt/bcbb/nextgen/tests/data/automated/../100326_FC6107FAAXX\r\n--2012-11-01 15:34:10-- http://chapmanb.s3.amazonaws.com/100326_FC6107FAAXX.tar.gz\r\nResolving chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)... 205.251.242.133\r\nConnecting to chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)|205.251.242.133|:80... connected.\r\nHTTP request sent, awaiting response... 200 OK\r\nLength: 7014592 (6.7M) [application/x-gzip]\r\nSaving to: `100326_FC6107FAAXX.tar.gz\'\r\n\r\n\r 0% [ ] 0 --.-K/s \r 0% [ ] 17,163 77.9K/s \r 0% [ ] 64,775 147K/s \r 2% [ ] 174,843 263K/s \r 5% [=> ] 399,683 456K/s \r12% [===> ] 866,883 790K/s \r25% [========> ] 1,798,363 1.33M/s \r45% [================> ] 3,178,955 1.90M/s \r65% [========================> ] 4,592,803 2.41M/s \r65% [========================> ] 4,629,303 2.17M/s \r67% [=========================> ] 4,761,595 2.02M/s \r74% [============================> ] 5,245,423 2.03M/s \r83% [===============================> ] 5,862,435 2.08M/s \r100%[======================================>] 7,014,592 2.46M/s in 2.7s \r\n\r\n2012-11-01 15:34:13 (2.46 MB/s) -
所以,你可以看到,我有一個古怪的格式輸出,這是這個樣子的終端:
/home/travis/opt/bcbb/nextgen/tests/data/automated/../100326_FC6107FAAXX
--2012-11-01 15:34:10-- http://chapmanb.s3.amazonaws.com/100326_FC6107FAAXX.tar.gz
Resolving chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)... 205.251.242.133
Connecting to chapmanb.s3.amazonaws.com (chapmanb.s3.amazonaws.com)|205.251.242.133|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7014592 (6.7M) [application/x-gzip]
Saving to: `100326_FC6107FAAXX.tar.gz'
100%[======================================>] 7,014,592 2.46M/s in 2.7s
2012-11-01 15:34:13 (2.46 MB/s) - `100326_FC6107FAAXX.tar.gz' saved [7014592/7014592]
好多了......我想用這種形式將輸出寫到一個文件中,所以我不能刪除\ r \ n或類似的東西,因爲這種方式會在每個步驟中出現一行下載。我只想寫一個帶有最終輸出的文件。
任何幫助?
編輯:
對不起,我本來應該更清楚:這不是一個命令的結果,但是,如下評論說,一個JSON文件的解析結果。您可以重現輸出:
import urllib
import json
string_to_write = json.loads(urllib.urlopen('https://travis-ci.org/jobs/3019024.json').read())['log']
導致此輸出的命令究竟是什麼? –
這應該基本上按原樣運行。意思是,如果你在Python中得到一個字符串s ='foo \ n \ rbar'',並用'open('outfile.txt,'w')write(s)'將其寫入到一個文件中,則文件應該包含這些行結尾,並在例如'cat'ed時正確呈現。 –
儘管如果你在Windows上,寫入文件時,「二進制模式」和「文本模式」之間有一個braindead區別。所以你可能需要使用「wb」或「w」模式,不確定。請參閱Python [關於讀取和寫入文件的文檔]中的註釋(http://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files)。 –