(Revised comments)
Currently when doing 

pcreate -s starter p/q/r/s

pcreate would create p/q/r/s, and name s as pkg name, and put content of starter inside s.

What I intend to do is to have module (or package) s inside package p.q.r when initializing p/q/r/s.py (or p/q/r/s).
and I also would like to have test_p/test_q/test_r/test_s.py as corresponding test file (or other corresponding files).
(Originally I intended to have class C inside the module p.q.r.s, 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. module/base pkg name (s).
2. full module/pkg name (p.q.r.s).
3. root pkg name (p)
4. parent pkg name (p.q.r)

3 and 4 can be derived from 2.

To be compatible with current usage.
pcreate -s simple_module -d p/q r/s
would be the same as 
pcreate -s simple_module -d p/q/r s

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 as example):
pkg_name as basename(args[0])          (s) (as before)
pkg_full_name as full pkg name            (p.q.r.s)
pkg_root_name as root pkg name         (p)
pkg_parent_name as parent pkg name (p.q.r)

The pull request needs revise to fit this design.
I would like to either revise within same pull request,
or close this pull request and initiate another pull request.