speed up linecache.getline()
I am using linecache.getline, to access to a line in a long file. It s
really fast, appx 4seconds, but I was just wandering if any of you,
know either another way, or there is something that I can do to speed
it up... thank you very much for your help!!
Quoting Chris Rebert <firstname.lastname@example.org>:
> On Wed, Oct 7, 2009 at 10:21 AM, <email@example.com> wrote:
>> Hi again!
>> After testing the whole day, I have got my goals from the last email, but as
>> always, another issues came up! and now that Ive been able to save a list of
>> list (or multi-arrays) as below :
>> ['100.mp3\n' '10008.mp3\n' '10005.mp3\n' '10001.mp3\n' '10006.mp3\n']
>> ['10001.mp3\n' '10005.mp3\n' '100.mp3\n' '10008.mp3\n' '10006.mp3\n']
>> ['10005.mp3\n' '10001.mp3\n' '100.mp3\n' '10008.mp3\n' '10006.mp3\n']
>> ['10006.mp3\n' '10005.mp3\n' '10001.mp3\n' '100.mp3\n' '10008.mp3\n']
>> ['10008.mp3\n' '100.mp3\n' '10001.mp3\n' '10005.mp3\n' '10006.mp3\n']
>> I am not able to manipulate it again! I read it with:
>> Myfile.read() and all what I get is a str type data, what make my aim very
>> difficult to reach! Â*What I want, is just to read one line(one specific
>> line, so Â*I wouldnt have to read the whole file) and to get the numbers of
>> the songs from that line. Maybe I should save the information in another
>> way... But I just get those lines as lists, and write them in a file. Is
>> there a better way? I am very receptive to suggestions! Thanks again for
>> your help!
> Have you considered using the `json` module
> (http://docs.python.org/library/json.html) to serialize and
> deserialize the lists to/from a file in JSON format?
> The `pickle` module is another option:
This message was sent using IMP, the Internet Messaging Program.
Re: speed up linecache.getline()
> I am using linecache.getline, to access to a line in a long file. It s
> really fast, appx 4seconds, but I was just wandering if any of you,
> know either another way, or there is something that I can do to speed
> it up... thank you very much for your help!!
If it is a single file that never changes just read it into a list:
with open(filename) as f:
cached_lines = list(f)
If that alone takes about 4 seconds the runtime of your script is spent
reading the file from disk. An SSD might help then ;)
In some situations you could delay reading line n until that line is
actually needed. This may speed up your script for cases where all requested
lines are near the beginning of the cached file.
|All times are GMT. The time now is 08:44 AM.|
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.