Импорт программ Python c "Google диск"

Автор Vitalij Lysanov, 11.09.17, 20:37:32

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Vitalij Lysanov


При возможности программы рекомендуют оформлять в виде набора функций.
Функции можно вызвать из любой программы.
Получается рабочая программа и набор функция.
Функции можно импортировать с   "Google диск".
Про это немного подробней ниже.

Файлам с "Google диск" можно давать общие ссылки.
Чтобы импортировать файлы в Python, изменяем ссылку в соответствии с рекомендациями:
http://www.magentawave.com/2013/09/get-direct-link-on-file.html

Например общая ссылка:
https://drive.google.com/open?id=0B63y14wkcLqgYWxZYzBUdmZvZE0

Выделенную часть ссылки можно добавить к:
https://drive.google.com/uc?export=download&confirm=no_antivirus&id=

получим:
https://drive.google.com/uc?export=download&confirm=no_antivirus&id=0B63y14wkcLqgYWxZYzBUdmZvZE0

Если включить такую ссылку, файл будет загружен в машину, иногда спрашивают разрешение на запись.

Естественный вопрос. Зачем это нужно?

    - Для работы программы достаточно передавать только программу построения

    - Профессионалы рассказывали. Если программа не помещается на один лист, нужно что то делать. 
Функции помогут придать программе построения обозримые очертания
Макро функций программ Компаса на листе много уменьшается.

    - На Python3 хорошо с русскими буквами работать 

    - По ссылке ниже некоторые возможности импорта функций:
https://drive.google.com/open?id=1puM9SxDXwv02DadG2iV78mxSZFUWOZtVl2Au4_mwHK8

Сама программа импорта из "Google диск" для Python3:
    # -*- coding: cp1251 -*-
import urllib.request
response = urllib.request.urlopen('https://drive.google.com/uc?export=download&confirm=no_antivirus&id=0B63y14wkcLqgYWxZYzBUdmZvZE0')

im=response.read()
imm=im.decode('cp1251')   #     Перевод в текстовый формат

f = open('d11.py', 'w')   #     Открываем файл, куда будем записывать информацию из сети
f.write(imm)              #     Запись
f.close()

from d11 import *         #     Импорт загруженного файла

import cmath
t1=complex(11,22)
t2=complex(131,232)

отрезок(t1+222,t2+22)   #  Рисует отрезок на открытом фрагменте. "отрезок" это имя функции
otrezok(t1,t2)                   "otrezok"  такая же функция под другим именем 

Для Python2:
# -*- coding: cp1251 -*-

import Kompas10API5 as KAPI
import Kompas10API7 as KAPI7
import pythoncom
from win32com.client import Dispatch
import LDefin2D
import LDefin3D
import ksConstants as CONST2D7
import ksConstants3D as CONST3D7
import MiscellaneousHelpers as MH

iKompasObject = Dispatch('KOMPAS.Application.5')
iKompasObject = KAPI.KompasObject(iKompasObject)
MH.iKompasObject = iKompasObject

iApplication = Dispatch('KOMPAS.Application.7')
iApplication = KAPI7.IApplication(iApplication)
MH.iApplication = iApplication

iDocument2D = iKompasObject.ActiveDocument2D()
iDocument = iApplication.ActiveDocument
iKompasDocument2D = KAPI7.IKompasDocument2D(iDocument)



#______________________________________________________

# -*- coding: cp1251 -*-
import urllib
response = urllib.urlopen('https://drive.google.com/uc?export=download&confirm=no_antivirus&id=0B63y14wkcLqgUHlET2pWMmtoajA')
im=response.read()
imm=im.decode('cp1251')   #     Перевод в текстовый формат

f = open('d22.py', 'w')   #     Открываем файл, куда будем записывать информацию из сети
f.write(imm)              #     Запись
f.close()

from d22 import *         #     Импорт загруженного файла

#______________________________________________________




x1=2
y1=5

x2=33
y2=55


otrezok(x1,y1,x2,y2)                         #  "otrezok"   - это имя функции
otrezok(x1+5,y1,x2+5,y2)
+ Благодарностей: 2

Vin

Ещё кто-то благодарит. Кто-то понимает что написано. Для меня сообщение ув. Vitalij Lysanov - словно послание пришельца. :(

pr0100

Со временем пришел вот к чему. У меня на работе и дома подключен Google Диск (клиент). Куда я сваливаю документы выделено 15ГБ. И они прекрасно работают и из дома и с рабочего ПК.
Без необходимости импорта по url ссылкам.

Так же можно смотреть с телефона не скачивая форматы dxf, pdf, jpg. Если к примеру нужно открыть чертеж или модель в формате компаса, то файл скачивается и открывается в Компас:24

Клиент качать здесь: https://www.google.ru/intl/ru_ALL/drive/download/

Компас:24 качать здесь: https://play.google.com/store/apps/details?id=com.ascon.kompasviewer&hl=ru
+ Благодарностей: 1

ТрындецЪ

Цитата: Vin от 12.09.17, 08:11:07
Кто-то понимает что написано.
Вся суть послания заключена в этом предложении:
Цитата: Vitalij Lysanov от 11.09.17, 20:37:32
Функции можно импортировать с   "Google диск".

Цитата: pr0100 от 12.09.17, 08:50:21
Со временем пришел вот к чему. У меня на работе и дома подключен Google Диск (клиент). Куда я сваливаю документы выделено 15ГБ. И они прекрасно работают и из дома и с рабочего ПК.
Без необходимости импорта по url ссылкам.
Vitalij Lysanov пишет об импорте функций, а не об их прямом запуске.


Vitalij Lysanov

Импорт больше относится к программированию.

Так же как импортируются :

import Kompas10API5 as KAPI
import Kompas10API7 as KAPI7

Можно импортировать и свои функции, необходимые для работы программы.
На другой машине эти функции получим по импорту с "Google диск". В теме как раз и затронут вопрос получения адреса для импорта.  "Google диск" дает ссылку общего доступа, не пригодную для импорта программой.

Например: есть функции в модуле, который можно импортировать:

def отрезок(a,b):
def угол_отрезка(a,b):
def окружность(centr,diam):
def окружность_оси(centr,diam):
def дуга(centr,radius,tn,tk):
def сплайн_3_точки(a,b,c):
def поиск_безье_часть_периметра(chast_perimetra):
def многоугольник (xy,rad,kol):
def штамп(nom):
def прямая(koor,ugol):
def точка_текст(a,n,teks):
def текст(a,teksts):
def точка(a,n):
def поиск_отрезков():
def печать_массива(mas,im):
def поиск_точек():
def пересечение(okr, prjm):
def симметрия_гор_вер(gr1):


Кроме импорта функций достаточно передать такой текст :
import cmath
т1=complex(0,0)
т2=complex(13,23)
отрезок23(т1,т2)
for x in range(12):
    for y in range(12):
        отрезок23(complex(x,y),complex(y,x),тип=5)

И получим  набор линий.
Заодно приведем и код функции " отрезок23"
Благодаря  "тип=1"  можно вызвать  функцию и так:
отрезок23(complex(x,y),complex(y,x))
с типом линии "1" :


def отрезок23(a,b,тип=1):
    global iDocument2D
    im=iDocument2D.ksLineSeg(a.real,a.imag,b.real ,b.imag, тип)
    return b,im

Еще например одной строчкой можно вызвать координату точки кривой Безье и получить координату точки расположенной на расстоянии 0.3 по периметру. 
Такие координаты необходимы при задании графиками 2D параметров  анимации.  Формулами иногда реальность очень трудно описывать.
Например, человек   Уважаемого  Sulyco
http://forum.ascon.ru/index.php/topic,6952.20.html
управляется внешними параметрами,  данные для параметров  получены из 10 графиков.   
https://drive.google.com/open?id=0B63y14wkcLqgbktRZnpxaVJnUm8




Ватник

Мой код на гугле лежит в uni-8, следуя инструкции я делаю так же только decode('uni-8'). но на компьтер текст приходит с аброй кадаброй в части русских символов. подскажите, пожалуйста, как правильно