Форум сайта python.su
0
Здравствуйте уважаемые.
Помогите разобраться с поведением функции, а точнее с результатом который она должна вернуть.(возвращается объект None)
#! /usr/bin/python
# -*- coding: utf-8 -*-
import os, sys
#def prefix(name, d):
def prefix(name):
"""
возвращается имя файла с добавлением
префикса вида: name_file.XXX
"""
if os.path.exists(name):
if name.split('.')[-1].isdigit():
print '%s is digit'%name.split('.')[-1]
name='.'.join(['.'.join(name.split('.')[:-1]), str(int(name.split('.')[-1])+1)])
print 'new name is %s'%name
#prefix(name, d)
prefix(name)
else:
print '%s is string'%name.split('.')[-1]
#prefix(name+'.0', d)
prefix(name+'.0')
else:
print '%s name not exists'%name
print 'type is %s'%type(name)
#d['res']=name
return name # 1) возвращает объект типа None
#return name # 2) возвращает первоначальное значение name
#return d['res']
d={}
name=sys.argv[1]
#new_name=prefix(name, d)
new_name=prefix(name)
print new_name
print d
Офлайн
7
Замените везде вызов prefix(…) на return prefix(…)
Офлайн
0
как все просто) Спасибо!
Офлайн