<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 問題 你想在一個固定長度記錄或者數據塊的集合上迭代,而不是在一個文件中一行一行的迭代。 ## 解決方案 通過下面這個小技巧使用 `iter` 和 `functools.partial()` 函數: from functools import partial RECORD_SIZE = 32 with open('somefile.data', 'rb') as f: records = iter(partial(f.read, RECORD_SIZE), b'') for r in records: ... 這個例子中的 `records` 對象是一個可迭代對象,它會不斷的產生固定大小的數據塊,直到文件末尾。要注意的是如果總記錄大小不是塊大小的整數倍的話,最后一個返回元素的字節數會比期望值少。 ## 討論 `iter()` 函數有一個鮮為人知的特性就是,如果你給它傳遞一個可調用對象和一個標記值,它會創建一個迭代器。這個迭代器會一直調用傳入的可調用對象直到它返回標記值為止,這時候迭代終止。 在例子中,`functools.partial` 用來創建一個每次被調用時從文件中讀取固定數目字節的可調用對象。標記值 `b''` 就是當到達文件結尾時的返回值。 最后再提一點,上面的例子中的文件時以二進制模式打開的。如果是讀取固定大小的記錄,這通常是最普遍的情況。而對于文本文件,一行一行的讀取(默認的迭代行為)更普遍點。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看