Skip to main content

Save your files with current date time appended; load the newest back without specifying file name everytime

Project description

This is a quick script that allows you to save common file to any location with date time appended behind like "filename_1912181212.csv" (save_dt). Everytime you want to load it back, just use load_newest, it will automatically find the newest file.

Feel free to download/edit this script, and maybe share your version with me!

import sldt
# launch logger to see info when saving and loading files
import logging
logging.getLogger().setLevel(logging.INFO)
sldt.__SUPPORTED_EXT__
['.pkl', '.csv', '.png', '.txt']

anything → pkl

a_list = ['a', 0.1, False]

# save two files for demo
sldt.s(a_list, 'output/a_list.pkl')
import time
time.sleep(60)
sldt.s(a_list, 'output/a_list.pkl')

# it will load the newest (which is the later one) back
a_list = sldt.l('output/a_list.pkl')
a_list
INFO:root:output/a_list_1912240137.pkl saved
INFO:root:output/a_list_1912240138.pkl saved
INFO:root:output/a_list_1912240138.pkl loaded





['a', 0.1, False]

pandas dataframe → csv

import pandas as pd
df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
sldt.s(df, 'output/df.csv')

df = sldt.l('output/df.csv')
df
INFO:root:output/df_1912240108.csv saved
INFO:root:output/df_1912240108.csv loaded
col1 col2
0 1 3
1 2 4

you can pass any argument as to pd.DataFrame.to_csv(), if there's no arguments in save_dt, the default will be index=False.

For example, save_dt(df, 'output/df.csv', sep=';')

figure → png

import seaborn as sns
exercise = sns.load_dataset("exercise")
g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise)

sldt.s(g, 'output/g.png')
INFO:root:output/g_1912240108.png saved

Display it using ![](output/g_1912240037.png) in markdown.

the default arguments will be dpi=600, bbox_inches: 'tight'. And it will try to close the fig after saving the file.

string → txt

text = '''some random sentences
here
and there'''
sldt.s(text, 'output/text.txt')

text = sldt.l('output/text.txt')
text
INFO:root:output/text_1912240108.txt saved
INFO:root:output/text_1912240108.txt loaded





'some random sentences\nhere\nand there'

helper functions

you can save your own file type and load it back using append_dt and find_newest

import pickle

output_filename = sldt.append_dt('output/sth.pkl', datetime_format="%y%m%d%H%M")[0] # it returns a tuple as (filename, extension)
with open(output_filename, 'wb') as f:
    pickle.dump('some strings', f)
newest_file = sldt.find_newest('output/sth.pkl')[0]
with open(newest_file, 'rb') as f:
    sth = pickle.load(f)
sth
'some strings'


          

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sldt-1.0.0-py3-none-any.whl (4.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page