 <p>I don't think that Python is going to give you a strong guarantee that it won't actually read the entire file when you use <code>f.seek</code>. I think that this is too platform- and implementation-specific to rely on Python. You should use Windows-specific tools that give you a guarantee of random acess rather than sequential. </p> <p><a href="http://support.microsoft.com/kb/150700" rel="nofollow">Here's a snippet of Visual Basic</a> that you can modify to suit your needs. You can define your own record type that's two 64-bit integers long. Alternatively, you can use a <a href="http://msdn.microsoft.com/en-us/library/ee433613.aspx" rel="nofollow">C# FileStream object</a> and use its <code>seek</code> method to get what you want. </p> <p>If this is performance-critical software, I think you need to make sure you're getting access to the OS primitives that do what you want. I can't find any references that indicate that Python's <code>seek</code> is going to do what you want. If you go that route, you need to test it to make sure it does what it seems like it should. </p>