(Revised comments)
Currently when doing 

pcreate -s starter p/q/r/s/t

pcreate would create p/q/r/s/t, and name t as pkg name, and put content of starter inside t.

What I intend to do is to have module (or package) t inside package r.s, where r is inside directory p/q, when initializing p/q/r/s/t.py
and I also would like to have p/q/test_r/test_s/test_t.py as corresponding test file (or other corresponding files).
(Originally I intended to have class C inside the module s.t, but recently I realize
 that it may be too complicated. Now I want to focus on the module part).

To achieve this, we need the following information for templates:
1. output_dir (p/q)
1. module/base pkg name (s).
2. full module/pkg name (r.s.t).
3. root pkg name (r)
4. parent pkg name (r.s)

3 and 4 can be derived from 2.

I want to have the following command:
pcreate -s simple_module -d p/q r/s/t (or pcreate -s simple_module -d p/q r.s.t)
(I would prefer the first one to be compatible with current usage)

because basename(args[0]) can be treated as module or as pkg,
I would like to have the following variables (pcreate -s simple_module -d p/q r/s/t as example):
pkg_name as basename(args[0])          (t) (as before)
pkg_full_name as full pkg name            (r.s)
pkg_root_name as root pkg name         (r)
pkg_parent_name as parent pkg name (r.s)

Could you provide suggestions?