Writing different sections into a file

Karim kliateni at gmail.com
Mon Apr 25 11:12:59 EDT 2016



On 25/04/2016 17:00, justin walters wrote:
> On Mon, Apr 25, 2016 at 3:04 AM, Karim <kliateni at gmail.com> wrote:
>
>>
>> On 25/04/2016 09:30, Palpandi wrote:
>>
>>> Hi,
>>>
>>> I need to write different sections into a file.
>>> At any point of time, content can be added to any section.
>>>
>>> I don't want keep each section into a temporary file.
>>> What is the better way to store the contents of each section and write
>>> them into a file at the end?
>>> What is the better datatype to achieve this?
>>>
>>>
>>> Thanks and Regards,
>>> Palpandi
>>>
>> Use Stringio:
>> -
>>
>> from cStringIO import StringIO
>>
>> content = StringIO()
>>
>> # Header
>> content.write('; Header\n')
>> content.write('; Body'\n)
>> content.write('; Footer\n')
>>
>> open('my_file', 'wb').write(content.getvalue())
>>
>> -
>> Karim
>>
>>
>> --
>> https://mail.python.org/mailman/listinfo/python-list
>>
>
> All of the other answers are great too. I was thinking that you could
> format the text file to have dividers for each section. For instance it may
> look something like this:
>
> Header
> Lorem ipsum....
> <--->
> Body
> Lorem ipsum...
> <--->
> Footer
> Lorem ipsum..
>
> Then, you could create a list of sections like so:
>
> file = open('file.txt', 'r').read()
>
> section_list = file.split('<--->')
>
> print(section_list[0])
>
> Header
> Lorem ipsum...
>
> Say you wanted to get really fancy, you could even format the file to have
> named sections like so:
>
> <section name="Header">
>      <content>Lorem ipsum...</content>
> </section>
> <section name="Body">
>      <content>Lorem ipsum...</content>
> </section>
> <section name="footer">
>      <content>Lorem ipsum...</content>
> </section>
>
> Then you can use the xmlparser library to parse the file into an xml object.
>
>
> Alternatively, you could also use JSON formatting:
>
> {
>      sections: {
>          header: {
>              title: "header",
>              content: "Lorem ipsum..."
>          },
>          body: {
>              title: "Body",
>              content: "Lorem ipsum..."
>          },
>          footer: {
>              title: "Footer",
>              content: "Lorem ipsum..."
>          }
>      }
> }
>
> I hope this helps.

Great ideas!




More information about the Python-list mailing list