Storing a big amount of path names

Chris Angelico rosuav at
Thu Feb 11 23:23:20 EST 2016

On Fri, Feb 12, 2016 at 3:15 PM, Paulo da Silva
<p_s_d_a_s_i_l_v_a_ns at> wrote:
> Às 03:49 de 12-02-2016, Chris Angelico escreveu:
>> On Fri, Feb 12, 2016 at 2:13 PM, MRAB <python at> wrote:
>>> Apart from all of the other answers that have been given:
> ...
>> Simpler to let the language do that for you:
>>>>> import sys
>>>>> p1 = sys.intern('foo/bar')
>>>>> p2 = sys.intern('foo/bar')
>>>>> id(p1), id(p2)
>> (139621017266528, 139621017266528)
> I didn't know about id or sys.intern :-)
> I need to look at them ...
> As I can understand I can do in MyFile class
> self.dirname=sys.intern(dirname) # dirname passed as arg to the __init__
> and the character string doesn't get repeated.
> Is this correct?

Correct. Two equal strings, passed to sys.intern(), will come back as
identical strings, which means they use the same memory. You can have
a million references to the same string and it takes up no additional

But I reiterate: Don't even bother with this unless you know your
program is running short of memory. Start by coding things in the
simple and obvious way, and then fix problems only when you see them.


More information about the Python-list mailing list