Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 2, 2011 21:01:23

e1maker
От:
Зарегистрирован: 2011-08-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Повторение той же функции?

Воопрос таков, как повторить одну и ту же функцию, но с разными параметрами

def search_replace(file, find_str, replace_str):
app.Documents.Open(file)
app.Selection.Find.Text = find_str
found=app.Selection.Find.Execute()
doc=app.ActiveDocument
if found:
app.Selection.TypeText(replace_str)
doc.SaveAs(os.getcwd()+'\\pension.doc')
else:
doc.Close(SaveChanges=False)
return found
f= 'C:\\1.doc'
print search_replace(f, 'text1', text1)
интирисует последняя строка, которая сообстевнно запускает ф-цию, как повторить выполнение функции но с параметрами text8, text8



Офлайн

#2 Дек. 3, 2011 09:29:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9973
Репутация: +  856  -
Профиль   Отправить e-mail  

Повторение той же функции?

передавай в неё этот параметр
ещё есть замыкания (динамически создаваемые функции)
(глобальные переменные запутывают программу)



Офлайн

#3 Дек. 3, 2011 10:54:01

e1maker
От:
Зарегистрирован: 2011-08-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Повторение той же функции?

py.user.next
передавай в неё этот параметр
ещё есть замыкания (динамически создаваемые функции)
(глобальные переменные запутывают программу)
Вот она и путается, если 2 такие функции, то еще нормально, а больше то нифига…



Офлайн

#4 Дек. 3, 2011 11:52:15

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Повторение той же функции?

Чем вас не устраивает

search_replace(f, 'text1', text1)
search_replace(f, text8, text8)
???



Офлайн

#5 Дек. 3, 2011 12:06:44

e1maker
От:
Зарегистрирован: 2011-08-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Повторение той же функции?

doza_and
Чем вас не устраивает
search_replace(f, 'text1', text1)
search_replace(f, text8, text8)
???
не проходит такой вариант, уже пробывал



Офлайн

#6 Дек. 3, 2011 12:59:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Повторение той же функции?

Так чем не устраивает? Ошибка возникает или результат неправильный?
Напишите что хотели получить и что получилось.



Офлайн

#7 Дек. 3, 2011 22:45:17

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9973
Репутация: +  856  -
Профиль   Отправить e-mail  

Повторение той же функции?

а, так это не только функция (неправильное выравнивание)

repl_dict = {'text1': 'repl1',
'text2': 'repl2',
'text3': 'repl3'}

fname = 'c:\\1.doc'
for s, r in repl_dict.items():
print search_replace(fname, s, r)



Отредактировано (Дек. 3, 2011 22:46:53)

Офлайн

#8 Дек. 7, 2011 14:28:00

e1maker
От:
Зарегистрирован: 2011-08-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Повторение той же функции?

doza_and
Так чем не устраивает? Ошибка возникает или результат неправильный?
Напишите что хотели получить и что получилось.
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
return self.func(*args)
File "D:\programming\gui\gui.py", line 40, in button2_click
print search_replace('text8', text8)
UnboundLocalError: local variable 'text8' referenced before assignment



Офлайн

#9 Дек. 7, 2011 14:48:32

Fibio
От:
Зарегистрирован: 2010-09-14
Сообщения: 74
Репутация: +  2  -
Профиль   Отправить e-mail  

Повторение той же функции?

так кавычек нету около text8



Офлайн

#10 Дек. 7, 2011 15:56:49

e1maker
От:
Зарегистрирован: 2011-08-04
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Повторение той же функции?

Fibio
так кавычек нету около text8
есть ковычки и этото показывает



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version