i'm a python newbie & wrote my first script, can someone critique it?
mad scientist jr
mad.scientist.jr at gmail.com
Sat Jun 11 14:14:00 EDT 2016
For those who don't want to have to wade through comments, here is a version without so many comments:
# For Python 3.x
# This script creates multiple numbered empty folders
# in the desired location. To change the folder names
# or location, edit function get_default_options.
import datetime
import os
import errno
import sys
###############################################################################
# EDIT VALUES HERE TO CUSTOMIZE THE OUTPUT
def get_default_options():
dict = {
"s_for_python_version": "3",
"s_folder_path_template": "C:/temp/test/MP3 Disk {count:03}",
"i_from_count": 3,
"i_to_count": 7,
}
return dict
###############################################################################
def get_exact_python_version():
s_version = ".".join(map(str, sys.version_info[:3]))
s_version = s_version.strip()
return s_version
def get_general_python_version():
s_version = get_exact_python_version()
return s_version[0]
def exit_if_wrong_python_version(s_right_version):
s_current_version = get_general_python_version()
if (s_current_version != s_right_version):
print(
"Wrong Python version ({}), "
"this script should be run using "
"Python {}.x, Exiting..."
"".format(s_current_version, s_right_version))
sys.exit()
def get_script_filename():
return sys.argv[0]
def get_timestamp():
return datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d %H:%M:%S')
def create_folder(s_path):
try:
os.makedirs(s_path, exist_ok=True)
except (FileExistsError, IsADirectoryError) as e:
print("FileExistsError IN makedirs")
raise
return False
except OSError as exception:
print("ERROR #" + str(exception.errno) + "IN makedirs")
raise
return False
print("" + get_timestamp() + " " + "Created folder: " + s_path + "")
def create_folders(
s_folder_path_template:str="",
i_from_count:int=1,
i_to_count:int=0
):
i_count=0
for i_loop in range(i_from_count, i_to_count + 1):
create_folder(s_folder_path_template.format(count=i_loop))
i_count += 1
return i_count
def main():
options_dict = get_default_options()
exit_if_wrong_python_version(options_dict["s_for_python_version"])
print("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
print("" + get_timestamp() + " " + get_script_filename() + " started.")
i_total_created = create_folders(
options_dict["s_folder_path_template"],
options_dict["i_from_count"],
options_dict["i_to_count"])
print("" + get_timestamp() + " " + str(i_total_created) + " folders created.")
print("" + get_timestamp() + " " + get_script_filename() + " finished.")
if __name__ == '__main__':
main()
More information about the Python-list
mailing list