2013-03-06 4 views
0

Я бегу ниже сценарий из командной строки на моем Mac с этим:Простой питон скрипт не создает каталоги

python directory-create.py mkdirs mydirname 

и вот directory-create.py сценарий:

import os, sys 
def mkdirs(newdir): 
    os.makedirs('/Users/bob/PycharmProjects/server-scripts/test/' + newdir) 
    os.rename('/Users/bob/PycharmProjects/server-scripts/test/' + newdir, '/Users/bob/PycharmProjects/server-scripts/test/www.' + newdir + '.com') 
    print 'test output' 

Я запускаю его, и абсолютно ничего не происходит. Ошибок не было, мой оператор печати не печатает (он действительно печатает с помощью простого сценария Hello World), и никаких созданных dirs не создается. Что мне не хватает?

ответ

3

Вы определяете функцию, но на самом деле ее не называете. Добавить еще одну строку после этого на самом деле вызвать функцию:

mkdirs("my new dir")

Edit: Там, кажется, недоразумение в коде: Вы переходящая в функции которого вы хотите вызвать в качестве аргумента командной строки ,

Кажется, что вы хотите создать каталог с именем, указанным в командной строке. Я переписал код, чтобы сделать это:

Использование будет: python directory-create.py mydirname

Полный код будет:

import os 
import sys 

def mkdirs(newdir): 
    os.makedirs('/Users/bob/PycharmProjects/server-scripts/test/' + newdir) 
    os.rename('/Users/bob/PycharmProjects/server-scripts/test/' + newdir, '/Users/bob/PycharmProjects/server-scripts/test/www.' + newdir + '.com') 
    print 'test output' 

if len(sys.argv) < 2: 
    print "No directory name specified!" 
    sys.exit(1) 
else: 
    dirname = sys.argv[1] 
    mkdirs(dirname) 
+0

Это он! Благодаря! Прекрасно работает. – yoyodyne

+0

Добро пожаловать :) – Moshe

Смежные вопросы