<?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> <a href="paramiko-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </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 paramiko</a> :: Class 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 >] | <a href="paramiko.SFTPFile-class.html" target="_top">no 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 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"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 code</a></span> </td> </tr> </table> </td> </tr> <tr> <td width="15%" align="right" valign="top" class="summary"> <span class="summary-type"> </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 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"> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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>"sha1"</code> or <code>"md5"</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 "check-file" 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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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 code</a></span> </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> <a href="paramiko-module.html">Home</a> </th> <!-- Tree link --> <th> <a href="module-tree.html">Trees</a> </th> <!-- Index link --> <th> <a href="identifier-index.html">Indices</a> </th> <!-- Help link --> <th> <a href="help.html">Help</a> </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>