<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>paramiko.SFTPFile</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="paramiko-module.html">Package&nbsp;paramiko</a> ::
        Class&nbsp;SFTPFile
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="paramiko.SFTPFile-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class SFTPFile</h1><p class="nomargin-top"><span class="codelink"><a href="paramiko-pysrc.html#SFTPFile">source&nbsp;code</a></span></p>
<pre class="base-tree">
  object --+    
           |    
<a href="paramiko.BufferedFile-class.html">BufferedFile</a> --+
               |
              <strong class="uidshort">SFTPFile</strong>
</pre>

<hr />
<p>Proxy object for a file on the remote server, in client mode SFTP.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Methods</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#__del__" class="summary-sig-name">__del__</a>(<span class="summary-sig-arg">self</span>)</span></td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">sftp</span>,
        <span class="summary-sig-arg">handle</span>,
        <span class="summary-sig-arg">mode</span>=<span class="summary-sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
        <span class="summary-sig-arg">bufsize</span>=<span class="summary-sig-default">-1</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">str</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#check" class="summary-sig-name">check</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">hash_algorithm</span>,
        <span class="summary-sig-arg">offset</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">length</span>=<span class="summary-sig-default">0</span>,
        <span class="summary-sig-arg">block_size</span>=<span class="summary-sig-default">0</span>)</span><br />
      Ask the server for a hash of a section of this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#chmod" class="summary-sig-name">chmod</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">mode</span>)</span><br />
      Change the mode (permissions) of this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#chown" class="summary-sig-name">chown</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">uid</span>,
        <span class="summary-sig-arg">gid</span>)</span><br />
      Change the owner (<code>uid</code>) and group (<code>gid</code>) of 
      this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#close" class="summary-sig-name">close</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Close the file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">float</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#gettimeout" class="summary-sig-name">gettimeout</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns the timeout in seconds (as a float) associated with the 
      socket or ssh <a href="paramiko.Channel-class.html" 
      class="link">Channel</a> used for this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#prefetch" class="summary-sig-name">prefetch</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Pre-fetch the remaining contents of this file in anticipation of 
      future <a href="paramiko.BufferedFile-class.html#read" 
      class="link">read</a> calls.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">list(str)</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#readv" class="summary-sig-name">readv</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">chunks</span>)</span><br />
      Read a set of blocks from the file by (offset, length).</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#seek" class="summary-sig-name">seek</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">offset</span>,
        <span class="summary-sig-arg">whence</span>=<span class="summary-sig-default">0</span>)</span><br />
      Set the file's current position, like stdio's <code>fseek</code>.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#set_pipelined" class="summary-sig-name">set_pipelined</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">pipelined</span>=<span class="summary-sig-default">True</span>)</span><br />
      Turn on/off the pipelining of write operations to this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#setblocking" class="summary-sig-name">setblocking</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">blocking</span>)</span><br />
      Set blocking or non-blocking mode on the underiying socket or ssh <a 
      href="paramiko.Channel-class.html" class="link">Channel</a>.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#settimeout" class="summary-sig-name">settimeout</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">timeout</span>)</span><br />
      Set a timeout on read/write operations on the underlying socket or 
      ssh <a href="paramiko.Channel-class.html" class="link">Channel</a>.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">SFTPAttributes</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#stat" class="summary-sig-name">stat</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Retrieve information about this file from the remote system.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#truncate" class="summary-sig-name">truncate</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">size</span>)</span><br />
      Change the size of this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="paramiko.SFTPFile-class.html#utime" class="summary-sig-name">utime</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">times</span>)</span><br />
      Set the access and modified times of this file.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.BufferedFile-class.html">BufferedFile</a></code></b>:
      <code><a href="paramiko.BufferedFile-class.html#__iter__">__iter__</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#flush">flush</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#next">next</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#read">read</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#readline">readline</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#readlines">readlines</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#tell">tell</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#write">write</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#writelines">writelines</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#xreadlines">xreadlines</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__str__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Class Variables</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="MAX_REQUEST_SIZE"></a><span class="summary-name">MAX_REQUEST_SIZE</span> = <code title="32768">32768</code>
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="paramiko.BufferedFile-class.html">BufferedFile</a></code></b>:
      <code><a href="paramiko.BufferedFile-class.html#FLAG_APPEND">FLAG_APPEND</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#FLAG_BINARY">FLAG_BINARY</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#FLAG_BUFFERED">FLAG_BUFFERED</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#FLAG_LINE_BUFFERED">FLAG_LINE_BUFFERED</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#FLAG_READ">FLAG_READ</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#FLAG_UNIVERSAL_NEWLINE">FLAG_UNIVERSAL_NEWLINE</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#FLAG_WRITE">FLAG_WRITE</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#SEEK_CUR">SEEK_CUR</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#SEEK_END">SEEK_END</a></code>,
      <code><a href="paramiko.BufferedFile-class.html#SEEK_SET">SEEK_SET</a></code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Properties</span></td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Method Details</span></td>
</tr>
</table>
<a name="__del__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__del__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Destructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Overrides:
        <a href="paramiko.BufferedFile-class.html#__del__">BufferedFile.__del__</a>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">sftp</span>,
        <span class="sig-arg">handle</span>,
        <span class="sig-arg">mode</span>=<span class="sig-default"><code class="variable-quote">'</code><code class="variable-string">r</code><code class="variable-quote">'</code></span>,
        <span class="sig-arg">bufsize</span>=<span class="sig-default">-1</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Overrides:
        object.__init__
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="check"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">check</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">hash_algorithm</span>,
        <span class="sig-arg">offset</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">length</span>=<span class="sig-default">0</span>,
        <span class="sig-arg">block_size</span>=<span class="sig-default">0</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Ask the server for a hash of a section of this file.  This can be used
  to verify a successful upload or download, or for various rsync-like 
  operations.</p>
  <p>The file is hashed from <code>offset</code>, for <code>length</code> 
  bytes.  If <code>length</code> is 0, the remainder of the file is hashed.
  Thus, if both <code>offset</code> and <code>length</code> are zero, the 
  entire file is hashed.</p>
  <p>Normally, <code>block_size</code> will be 0 (the default), and this 
  method will return a byte string representing the requested hash (for 
  example, a string of length 16 for MD5, or 20 for SHA-1).  If a non-zero 
  <code>block_size</code> is given, each chunk of the file (from 
  <code>offset</code> to <code>offset + length</code>) of 
  <code>block_size</code> bytes is computed as a separate hash.  The hash 
  results are all concatenated and returned as a single string.</p>
  <p>For example, <code>check('sha1', 0, 1024, 512)</code> will return a 
  string of length 40.  The first 20 bytes will be the SHA-1 of the first 
  512 bytes of the file, and the last 20 bytes will be the SHA-1 of the 
  next 512 bytes.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>hash_algorithm</code></strong> (str) - the name of the hash algorithm to use (normally 
          <code>&quot;sha1&quot;</code> or <code>&quot;md5&quot;</code>)</li>
        <li><strong class="pname"><code>offset</code></strong> (int or long) - offset into the file to begin hashing (0 means to start from the 
          beginning)</li>
        <li><strong class="pname"><code>length</code></strong> (int or long) - number of bytes to hash (0 means continue to the end of the file)</li>
        <li><strong class="pname"><code>block_size</code></strong> (int) - number of bytes to hash per result (must not be less than 256; 0 
          means to compute only one hash of the entire segment)</li>
    </ul></dd>
    <dt>Returns: str</dt>
        <dd>string of bytes representing the hash of each block, concatenated
          together</dd>
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'>IOError</strong></code> - if the server doesn't support the &quot;check-file&quot; extension,
        or possibly doesn't support the hash algorithm requested</li>
    </ul></dd>
  </dl>
<div class="fields">      <p><strong>Note:</strong>
        Many (most?) servers don't support this extension yet.
      </p>
      <p><strong>Since:</strong>
        1.4
      </p>
</div></td></tr></table>
</div>
<a name="chmod"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">chmod</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">mode</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Change the mode (permissions) of this file.  The permissions are 
  unix-style and identical to those used by python's <code>os.chmod</code> 
  function.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>mode</code></strong> (int) - new permissions</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="chown"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">chown</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">uid</span>,
        <span class="sig-arg">gid</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Change the owner (<code>uid</code>) and group (<code>gid</code>) of 
  this file.  As with python's <code>os.chown</code> function, you must 
  pass both arguments, so if you only want to change one, use <a 
  href="paramiko.SFTPFile-class.html#stat" class="link">stat</a> first to 
  retrieve the current owner and group.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>uid</code></strong> (int) - new owner's uid</li>
        <li><strong class="pname"><code>gid</code></strong> (int) - new group id</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="close"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">close</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Close the file.  Future read and write operations will fail.</p>
  <dl class="fields">
    <dt>Overrides:
        <a href="paramiko.BufferedFile-class.html#close">BufferedFile.close</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="gettimeout"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">gettimeout</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns the timeout in seconds (as a float) associated with the socket
  or ssh <a href="paramiko.Channel-class.html" class="link">Channel</a> 
  used for this file.</p>
  <dl class="fields">
    <dt>Returns: float</dt>
  </dl>
<div class="fields">      <p><strong>See Also:</strong>
        <a href="paramiko.Channel-class.html#gettimeout" 
        class="link">Channel.gettimeout</a>
      </p>
</div></td></tr></table>
</div>
<a name="prefetch"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">prefetch</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Pre-fetch the remaining contents of this file in anticipation of 
  future <a href="paramiko.BufferedFile-class.html#read" 
  class="link">read</a> calls.  If reading the entire file, pre-fetching 
  can dramatically improve the download speed by avoiding roundtrip 
  latency. The file's contents are incrementally buffered in a background 
  thread.</p>
  <p>The prefetched data is stored in a buffer until read via the <a 
  href="paramiko.BufferedFile-class.html#read" class="link">read</a> 
  method.  Once data has been read, it's removed from the buffer.  The data
  may be read in a random order (using <a 
  href="paramiko.SFTPFile-class.html#seek" class="link">seek</a>); chunks 
  of the buffer that haven't been read will continue to be buffered.</p>
  <dl class="fields">
  </dl>
<div class="fields">      <p><strong>Since:</strong>
        1.5.1
      </p>
</div></td></tr></table>
</div>
<a name="readv"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">readv</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">chunks</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Read a set of blocks from the file by (offset, length).  This is more 
  efficient than doing a series of <a 
  href="paramiko.SFTPFile-class.html#seek" class="link">seek</a> and <a 
  href="paramiko.BufferedFile-class.html#read" class="link">read</a> calls,
  since the prefetch machinery is used to retrieve all the requested blocks
  at once.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>chunks</code></strong> (list(tuple(long, int))) - a list of (offset, length) tuples indicating which sections of 
          the file to read</li>
    </ul></dd>
    <dt>Returns: list(str)</dt>
        <dd>a list of blocks read, in the same order as in 
          <code>chunks</code></dd>
  </dl>
<div class="fields">      <p><strong>Since:</strong>
        1.5.4
      </p>
</div></td></tr></table>
</div>
<a name="seek"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">seek</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">offset</span>,
        <span class="sig-arg">whence</span>=<span class="sig-default">0</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Set the file's current position, like stdio's <code>fseek</code>.  Not
  all file objects support seeking.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>offset</code></strong> - position to move to within the file, relative to 
          <code>whence</code>.</li>
        <li><strong class="pname"><code>whence</code></strong> - type of movement: 0 = absolute; 1 = relative to the current 
          position; 2 = relative to the end of the file.</li>
    </ul></dd>
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'>IOError</strong></code> - if the file doesn't support random access.</li>
    </ul></dd>
    <dt>Overrides:
        <a href="paramiko.BufferedFile-class.html#seek">BufferedFile.seek</a>
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="set_pipelined"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">set_pipelined</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">pipelined</span>=<span class="sig-default">True</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Turn on/off the pipelining of write operations to this file.  When 
  pipelining is on, paramiko won't wait for the server response after each 
  write operation.  Instead, they're collected as they come in. At the 
  first non-write operation (including <a 
  href="paramiko.SFTPFile-class.html#close" class="link">close</a>), all 
  remaining server responses are collected.  This means that if there was 
  an error with one of your later writes, an exception might be thrown from
  within <a href="paramiko.SFTPFile-class.html#close" 
  class="link">close</a> instead of <a 
  href="paramiko.BufferedFile-class.html#write" class="link">write</a>.</p>
  <p>By default, files are <i>not</i> pipelined.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>pipelined</code></strong> (bool) - <code>True</code> if pipelining should be turned on for this 
          file; <code>False</code> otherwise</li>
    </ul></dd>
  </dl>
<div class="fields">      <p><strong>Since:</strong>
        1.5
      </p>
</div></td></tr></table>
</div>
<a name="setblocking"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">setblocking</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">blocking</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Set blocking or non-blocking mode on the underiying socket or ssh <a 
  href="paramiko.Channel-class.html" class="link">Channel</a>.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>blocking</code></strong> (int) - 0 to set non-blocking mode; non-0 to set blocking mode.</li>
    </ul></dd>
  </dl>
<div class="fields">      <p><strong>See Also:</strong>
        <a href="paramiko.Channel-class.html#setblocking" 
        class="link">Channel.setblocking</a>
      </p>
</div></td></tr></table>
</div>
<a name="settimeout"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">settimeout</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">timeout</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Set a timeout on read/write operations on the underlying socket or ssh
  <a href="paramiko.Channel-class.html" class="link">Channel</a>.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>timeout</code></strong> (float) - seconds to wait for a pending read/write operation before raising
          <code>socket.timeout</code>, or <code>None</code> for no timeout</li>
    </ul></dd>
  </dl>
<div class="fields">      <p><strong>See Also:</strong>
        <a href="paramiko.Channel-class.html#settimeout" 
        class="link">Channel.settimeout</a>
      </p>
</div></td></tr></table>
</div>
<a name="stat"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">stat</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Retrieve information about this file from the remote system.  This is 
  exactly like <a href="paramiko.SFTPClient-class.html#stat" 
  class="link">SFTP.stat</a>, except that it operates on an already-open 
  file.</p>
  <dl class="fields">
    <dt>Returns: SFTPAttributes</dt>
        <dd>an object containing attributes about this file.</dd>
  </dl>
</td></tr></table>
</div>
<a name="truncate"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">truncate</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">size</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Change the size of this file.  This usually extends or shrinks the 
  size of the file, just like the <code>truncate()</code> method on python 
  file objects.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>size</code></strong> (int or long) - the new size of the file</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="utime"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">utime</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">times</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="paramiko.sftp_file-pysrc.html">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Set the access and modified times of this file.  If <code>times</code>
  is <code>None</code>, then the file's access and modified times are set 
  to the current time.  Otherwise, <code>times</code> must be a 2-tuple of 
  numbers, of the form <code>(atime, mtime)</code>, which is used to set 
  the access and modified times, respectively.  This bizarre API is 
  mimicked from python for the sake of consistency -- I apologize.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>times</code></strong> (tuple(int)) - <code>None</code> or a tuple of (access time, modified time) in 
          standard internet epoch time (seconds since 01 January 1970 GMT)</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="paramiko-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

      <th class="navbar" width="100%"></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sun Jul  6 18:30:29 2008
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>