powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Python) Выполнение из браузера глючит
4 сообщений из 4, страница 1 из 1
(Python) Выполнение из браузера глючит
    #39698184
c-net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Странная ситуация:
итог выполнения скрипта запущенного из браузера и запущенного из системы (с любой IDE) отличается.

При запуске из браузера не выполняется строчка (библиотеки win32com client)

Код: python
1.
Sheet.HPageBreaks(i-1).Location = Sheet.Range("A" + str(nKolStrok - 1))



Ошибок не выдается, все отрабатывает как будто нормально.

При запуске из любой IDE код отрабатывает правильно. Только запускаешь из любого браузера - результат другой. Какой ньюанс не учитываю?

win8
python 2.7
Среда стандартная и pycharm
Эмулятор Apache XAMPP

вот полный листинг(но дело врятли в коде, ведь отрабатывает без ошибок):

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
#!c:/python27/python.exe
# -*- coding: utf-8 -*-

import json
import cgi
import os
import cx_Oracle
import win32com.client
import shutil
import datetime


con = cx_Oracle.connect('user/pwd@192.168.137.29/xe')
Excel = win32com.client.Dispatch("Excel.Application")

cur = con.cursor()



now = datetime.datetime.now()
nowStr=str(now)
nowStr=nowStr.replace(":","_")

fileName1 = '../templates/4_3_EO.xlsx'
fileName2 = '../templates/4_3_EO_' + nowStr + '.xlsx'
fileName3='4_3_EO_'+nowStr+'.xlsx'
shutil.copyfile(fileName1, fileName2)

id_Unit_Type=56
iColumn = 1
iRow = 19
NomStolb = 5

if id_Unit_Type == 0:
    VidName =  cur.execute("select Direction from Direction where id_Direction=1")
else:
    cur.execute("select unit_type from Unit_Type where id_Unit_Type=56")
    VidName = cur.fetchone()[0]


Wb = Excel.Workbooks.Open(u'F:\\data\\templates\\' + fileName3)



#Wb.Visible =0
Sheet = Wb.Worksheets(u"Лист")
Sheet.Rows(str(iRow) + ':3000').EntireRow.Hidden = False

#номер
cur.execute("select nom from gr4_3_table order by trv_number")
data=cur.fetchall()

i=19
for row in data:
 Sheet.Cells(i,iColumn).Value = row
 i+=1

#наименование
cur.execute("select x1 from gr4_3_table order by trv_number")
data=cur.fetchall()

i=19
for row in data:
 Sheet.Cells(i,iColumn+1).Value = row
 i+=1

nKolStrok=i


Sheet.Rows(str(i) + ':3000').EntireRow.Hidden = True

st=u"по .. на " + u"2017" + u" год."
Sheet.Cells(15, 1).Value = st

iNach = i
nKolDop = 0


for iBlock in range(iRow, iNach):
    iTrueBlock = Sheet.Cells(iBlock, 1).Value
    Arr = iTrueBlock.split('.')
    if Arr[1] == "":
        Sheet.Cells(iBlock, 1).Value = ""
        Sheet.Range(Sheet.Cells(iBlock, 2), Sheet.Cells(iBlock, 2)).Font.Bold = True
        Sheet.Range(Sheet.Cells(iBlock, 2), Sheet.Cells(iBlock, 2)).HorizontalAlignment = -4131
        Sheet.Cells(iBlock, 2).Font.Size = Sheet.Cells(iBlock, 2).Font.Size + 1
    else:
        nKolDop = nKolDop + 1
        Sheet.Cells(iBlock, 1).Value = nKolDop

used = Sheet.UsedRange
iKonch = used.Rows.Count
iKonch = iKonch + 1
iob1 = iRow


if Sheet.HPageBreaks.Count > 0:
    i = 1
    iRazrPrew = 0
    iRazr = 1
    while iRazr <> iRazrPrew and i <= Sheet.HPageBreaks.Count:
    #Находим разрыв между данными и подписями
        iRazrPrew = iRazr

        iRazr = Sheet.HPageBreaks(i).Location.Row

        #Если разрыв находится сразу под блоком - переносим его на строчку вверх
        iTrueBlok = Sheet.Cells(iRazr - 1, 1)
        if iTrueBlok == "":
            Sheet.HPageBreaks(i).Location = objExcel.Range("A" + (iRazr - 1))     ###########Эта строка не отрабатывает при запуске из браузеров

            iRazr = Sheet.HPageBreaks(i).Location.Row
        #Объединение ячеек
        if iRazr - 1 < iNach:
            Sheet.Range(Sheet.Cells(iob1, 3), Sheet.Cells(iRazr - 1, 3)).MergeCells = True
            Sheet.Cells(iob1,3).Value = u"текст"
            Sheet.Range(Sheet.Cells(iob1, 4), Sheet.Cells(iRazr - 1, 4)).MergeCells = True
            Sheet.Cells(iob1,4).Value = u"текст"

            iob1 = iRazr

        i = i + 1
    iRazr = Sheet.HPageBreaks(i-1).Location.Row
    if iRazr >= iNach and iRazr < iKonch:
        Sheet.Cells(1, 1).Value = i
        Sheet.HPageBreaks(i-1).Location = Sheet.Range("A" + str(nKolStrok - 1)) #Сдвигаем нужный разрыв к предпоследней строке таблицы
        iTrueBlok=Sheet.Cells(nKolStrok - 2, 1)
        if iTrueBlok == "":
            Sheet.HPageBreaks(i-1).Location = Sheet.Range("A" + str(nKolStrok - 1 - 1))
            #Объединение ячеек
        Sheet.Range(Sheet.Cells(iob1, 3),Sheet.Cells(nKolStrok - 1 - 1, 3)).MergeCells = True
        Sheet.Cells(iob1,3).Value = u"текст"

        Sheet.Cells(nKolStrok - 1,3).Value = u"текст"
        Sheet.Range(Sheet.Cells(iob1, 4),Sheet.Cells(nKolStrok - 1 - 1, 4)).MergeCells = True
        Sheet.Cells(iob1,4).Value = u"текст"
        Sheet.Cells(nKolStrok - 1,4).Value = u"текст"
else:
    #объединяем ячейки с первой по последнюю строку таблицы
    Sheet.Range(Sheet.Cells(iRow, 3), Sheet.Cells(iNach, 3)).MergeCells = True
    Sheet.Cells(iRow,3).Value = u"текст"
    Sheet.Range(Sheet.Cells(iRow, 4), Sheet.Cells(iNach, 4)).MergeCells = True
    Sheet.Cells(iRow,4).Value = u"текст"

Wb.Save()
Wb.Close()
#Excel.Quit()

cur.execute("commit")
cur.close()
con.close()
...
Рейтинг: 0 / 0
(Python) Выполнение из браузера глючит
    #39698185
c-net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c-net, что-то мне кажется косяк в настройке XAMPP. Куда смотреть? :(
...
Рейтинг: 0 / 0
(Python) Выполнение из браузера глючит
    #39698314
c-net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c-net, накопал, что это и правда похоже проблема в безопасности. здесь нечто похожее описано. Пока не могу разобраться. В правильную сторону копаю?
...
Рейтинг: 0 / 0
(Python) Выполнение из браузера глючит
    #39698353
c-net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c-net,
решил проблему заменив альтернативным методом вставки разрыва

Код: python
1.
Sheet.HPageBreaks.Add(Sheet.Range("A" + str(nKolStrok - 1)))



Но почему тот не работал из браузера, так и непонятно...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Python) Выполнение из браузера глючит
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]