Python中字串的解壓縮,python字串

來源:互聯網
上載者:User

Python中字串的解壓縮,python字串

今天在用Streaming-Python處理一個MapReduce程式時,發現reducer失敗,原因為耗費記憶體達到極限了!仔細查看代碼時,發現有一個集合裡儲存著URL,而URL長度是比較長的,直接儲存確實是耗費記憶體,於是想到用壓縮儲存,然後用的時候再解壓,雖然處理時間增加,但是耗費記憶體大大降低!

具體就是使用zlib模組

import zlib raw_data = "hello,world,ooooooooooooxxxxxxxxxxx"zb_data = zlib.compress(raw_data) print "len(raw_data)=%d, len(zb_data)=%d, compression ratio=%.2f"\      % (len(raw_data), len(zb_data), float(len(zb_data))/len(raw_data)) # len(raw_data)=35, len(zb_data)=25, compression ratio=0.71raw_data2 = zlib.decompress(zb_data)print raw_data2

參考:http://my.oschina.net/1123581321/blog/176570


Python字串中的'\'輸入

反斜線 是 “轉意符" -- 改變後面字元的含義, 比如:
\r : 斷行符號, \n : 換行, \t : 定位字元 ..
為了表達字元"反斜線(\)" 需要在其前面在加一個反斜線 : \\
就是說,你看到的字串中的 \\ 就是一個 "\".

另:你可以用os.path.join("C:", *dirs)來完成這種路徑字串的串連。
 
字串解壓縮

剛才編成了壓縮的程式,不好意思,現在的可以解壓了。
程式沒有給你編寫讀寫檔案的內容,檔案讀寫自已去編,那個相對就簡單了,程式只介紹了實現準系統的內容。你可以輸入3A4B7D測試。

void main()
{int m=0;int j=0;
//string a;
//char c[111];
char a[111];
char b[111];
scanf("%s",a);
for(int i=0;a[i]!='\0';i++)
{ cout<<"a"<<endl;
if(a[i]-'0'>1&&a[i]-'0'<9)
{ m=a[i]-'0';}
else{b[j]=a[i];j++;}

while(m>1)
{
b[j]=a[i+1];
j++;
m--;
}

}
cout<<j<<endl;
b[j]='\0';
cout<<b<<endl;
system("pause");
}
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.