[mesa-users] Profile name zero padding
Ehsan Moravveji
e.moravveji at gmail.com
Fri Dec 5 12:45:14 EST 2014
Dear Bill and Josiah,
Thanks for your replies. I totally understand the developer’s design, and why the profile.index keeps the task of bookkeeping the file write outs.
I’ve already been living happily with star_write_profile_info(), so I will keep my engagement on going ;-)
Best regards,
Ehsan
On Dec 5, 2014, at 6:08 PM, Josiah Schwab <jwschwab at berkeley.edu> wrote:
> Hi Ehsan,
>
>> I would like to ask for a new feature regarding the profile names.
>> I find it a bit inconvenient that profile names are not zero padded
>> from left, because when listing the stored profiles in the LOGS
>> directory with “ls” command, or when using “glob” in python to fetch
>> the list of available files, they are no longer returned in the order
>> by which they were produced. E.g. profile11.data will appear after
>> profile1.data, but before profile2.data. Left zero padding resolves
>> this. This makes life easier (and happier :-D) when plotting profiles
>> in sequential order.
>
> As Bill said, the number in the profile isn't a meaningful ordering, so
> from a design standpoint, it makes sense to leave things as is.
>
> But when I'm doing something quick and dirty, I do cheat sometimes and
> use the profile number as a proxy for model order. But it's easy enough
> to sort things in non-lexicographic order that you may not even need to
> bother with zero-padding. Since software versions are numbered without
> leading zeros, most tools have options for this kind of sort.
>
> When using ls, check out the `-v' option:
>
> -v natural sort of (version) numbers within text
>
> which gives you what you want. If you have an old version of ls that
> doesn't support that, you could reverse sort by timestamp `-tr'
>
> In the case of python glob, the order is arbitrary, so you have to sort
> it anyways. You can use "version" sorting here too, or do something
> simple on your own.
>
> import distutils
> files = glob.glob('profile*.data')
> sorted(files, key=distutils.version.LooseVersion)
>
> But of course, the best advice is still to always get the order from
> profiles.index.
>
> Hope that helps,
> Josiah
>
>
>
>
More information about the Mesa-users
mailing list