Я пишу сценарий Python для создания каталогов для заданного срока и курса. Я хотел бы использовать модули Python os, sys и getopt (как с короткими, так и с длинными вариантами формы), чтобы выполняемый скрипт выглядел так:
>python directory.py –t fall2013 –c cs311-400
>python directory.py –-term fall2013 –-class cs311-400
Код, который я сейчас написал, выглядит так:
import os
import sys
import getopt
term = ""
course = ""
options, args = getopt.getopt(sys.argv[1:], 't:c:', ['term=', 'course='])
for opt, arg in options:
if opt in ('-t', '--term'):
term = arg
elif opt in ('-c', '--course'):
course = arg
После этого у меня есть функция, которая принимает термин и, конечно, использует os.mkdir и тому подобное:
def make_folders(term, course):
if not os.path.isdir(term + course):
os.mkdir(term + course)
path = os.path.join(term + course, "assignments")
os.makedirs(path)
path = os.path.join(term + course, "examples")
os.makedirs(path)
path = os.path.join(term + course, "exams")
os.makedirs(path)
path = os.path.join(term + course, "lecture_notes")
os.makedirs(path)
path = os.path.join(term + course, "submissions")
os.makedirs(path)
make_folders(term, course)
По какой-то причине созданная папка имеет только имя, которое представляет термин, а не термин и курс. Я чувствую, что это может иметь какое-то отношение к тому, что я использую getopt, но я не уверен. Любой совет?