Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242

Как сделать автоматическое сохранение в .txt файл

21.10.2018, 20:02. Показов 2940. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую Всех Друзья! Недавно нашел код в Github

Не силен в Пайтоне, но нужно изменить код:

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
! /usr/bin/env python
 
class Point(object):
    def __init__(self, _x, _y, _order = None): self.x, self.y, self.order = _x, _y, _order
 
    def calc(self, top, bottom, other_x):
        l = (top * inverse_mod(bottom)) % p
        x3 = (l * l - self.x - other_x) % p
        return Point(x3, (l * (self.x - x3) - self.y) % p)
 
    def double(self):
        if self == INFINITY: return INFINITY
        return self.calc(3 * self.x * self.x, 2 * self.y, self.x)
 
    def __add__(self, other):
        if other == INFINITY: return self
        if self == INFINITY: return other
        if self.x == other.x:
            if (self.y + other.y) % p == 0: return INFINITY
            return self.double()
        return self.calc(other.y - self.y, other.x - self.x, other.x)
 
    def __mul__(self, e):
        if self.order: e %= self.order
        if e == 0 or self == INFINITY: return INFINITY
        result, q = INFINITY, self
        while e:
            if e&1: result += q
            e, q = e >> 1, q.double()
        return result
 
    def __str__(self):
        if self == INFINITY: return "infinity"
        return "04 %x %x" % (self.x, self.y)
 
def inverse_mod(a):
    if a < 0 or a >= p: a = a % p
    c, d, uc, vc, ud, vd = a, p, 1, 0, 0, 1
    while c:
        q, c, d = divmod(d, c) + (c,)
        uc, vc, ud, vd = ud - q*uc, vd - q*vc, uc, vc
    if ud > 0: return ud
    return ud + p
 
p, INFINITY = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL, Point(None, None) # secp256k1
g = Point(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L, 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L,
          0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L)
secret =  0x2EE42A735AE3D0C1A7E435EF3B4731B0205A7839015E100BCC8472EE989EC887L
print '  privkey:    %x\n   pubkey: %s' % (secret, g * secret)
Мне необходимо чтобы результат при запуске автоматический сохранялся в .txt файл.
И ещё нужно изменить алгоритм, в коде pubkey: показывает X и Y

Необходимо убрать Y. Нужно только оставить Х.
Помогите пожалуйста !!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2018, 20:02
Ответы с готовыми решениями:

Нужно сделать сохранение из мемо1 в файл txt. Ошибка - немогу сделать.
Нужно сделать сохранение из мемо1 в файл txt. Ошибка - немогу сделать.

Сделать сохранение файла: из Memo1 в файл txt
begin With SaveDialog1 do begin Memo1.Lines.SaveToFile Memo1:='Сохранение файла'; // заголовок окна диалога if Execute...

Как сделать автоматическое сохранение книги
Ребят, помогите пожалуйста, если сможете ответьте на мыло Буду очень признателен. Файл прикреплен к посту 1.Есть алгоритм, когда...

4
6 / 4 / 3
Регистрация: 25.07.2016
Сообщений: 65
21.10.2018, 21:58
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
! / usr / bin / env
python
 
 
class Point(object):
    def __init__(self, _x, _y, _order=None):
        self.x, self.y, self.order = _x, _y, _order
 
    def calc(self, top, bottom, other_x):
        l = (top * inverse_mod(bottom)) % p
        x3 = (l * l - self.x - other_x) % p
        return Point(x3, (l * (self.x - x3) - self.y) % p)
 
    def double(self):
        if self == INFINITY: return INFINITY
        return self.calc(3 * self.x * self.x, 2 * self.y, self.x)
 
    def __add__(self, other):
        if other == INFINITY: return self
        if self == INFINITY: return other
        if self.x == other.x:
            if (self.y + other.y) % p == 0: return INFINITY
            return self.double()
        return self.calc(other.y - self.y, other.x - self.x, other.x)
 
    def __mul__(self, e):
        if self.order: e %= self.order
        if e == 0 or self == INFINITY: return INFINITY
        result, q = INFINITY, self
        while e:
            if e & 1: result += q
            e, q = e >> 1, q.double()
        return result
 
    def __str__(self):
        if self == INFINITY: return "infinity"
        return "04 %x %x" % (self.x, self.y)
 
 
def inverse_mod(a):
    if a < 0 or a >= p: a = a % p
    c, d, uc, vc, ud, vd = a, p, 1, 0, 0, 1
    while c:
        q, c, d = divmod(d, c) + (c,)
        uc, vc, ud, vd = ud - q * uc, vd - q * vc, uc, vc
    if ud > 0: return ud
    return ud + p
 
 
p, INFINITY = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL, Point(None, None)  # secp256k1
g = Point(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L,
          0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L,
          0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L)
secret = 0x2EE42A735AE3D0C1A7E435EF3B4731B0205A7839015E100BCC8472EE989EC887L
 
result = '  privkey:    %x\n   pubkey: %s' % (secret, g * secret)
f = open('test.txt','w')
f.write(result)
f.close()
Насчет x y не понял. Нужно убрать публичный ключ?
тогда будет
Python
1
2
3
result = '  privkey:    %x
# вместо
result = '  privkey:    %x\n   pubkey: %s' % (secret, g * secret)
1
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242
22.10.2018, 00:36  [ТС]
Спасибо LegionSSS. Результат в данном коде такой

где
X = 6310075ec9c79d56a30dc95811ad3330a61a0f50 0a2f792df34f1df79e00395a
Y = e0e776d4f0a86eeeacf72dff01dfa11424c591c1 5a67fda255acad03fa095216

Python
1
2
3
$python main.py
  privkey:    2ee42a735ae3d0c1a7e435ef3b4731b0205a7839015e100bcc8472ee989ec887
   pubkey: 04 6310075ec9c79d56a30dc95811ad3330a61a0f500a2f792df34f1df79e00395a e0e776d4f0a86eeeacf72dff01dfa11424c591c15a67fda255acad03fa095216
Необходимо чтобы было так

Python
1
2
3
$python main.py
  privkey:    2ee42a735ae3d0c1a7e435ef3b4731b0205a7839015e100bcc8472ee989ec887
   pubkey: 04 6310075ec9c79d56a30dc95811ad3330a61a0f500a2f792df34f1df79e00395a
То есть без Y = e0e776d4f0a86eeeacf72dff01dfa11424c591c1 5a67fda255acad03fa095216

Добавлено через 1 час 27 минут
Я изменил код. Как вы писали, но только при запуске выходит ошибка с красной надписью : Traceback (most recent call last
0
6 / 4 / 3
Регистрация: 25.07.2016
Сообщений: 65
22.10.2018, 14:49
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
class Point(object):
    def __init__(self, _x, _y, _order=None):
        self.x, self.y, self.order = _x, _y, _order
 
    def calc(self, top, bottom, other_x):
        l = (top * inverse_mod(bottom)) % p
        x3 = (l * l - self.x - other_x) % p
        return Point(x3, (l * (self.x - x3) - self.y) % p)
 
    def double(self):
        if self == INFINITY: return INFINITY
        return self.calc(3 * self.x * self.x, 2 * self.y, self.x)
 
    def __add__(self, other):
        if other == INFINITY: return self
        if self == INFINITY: return other
        if self.x == other.x:
            if (self.y + other.y) % p == 0: return INFINITY
            return self.double()
        return self.calc(other.y - self.y, other.x - self.x, other.x)
 
    def __mul__(self, e):
        if self.order: e %= self.order
        if e == 0 or self == INFINITY: return INFINITY
        result, q = INFINITY, self
        while e:
            if e & 1: result += q
            e, q = e >> 1, q.double()
        return str(result).split()[0] + ' ' + str(result).split()[1]
        #return result
 
    def __str__(self):
        if self == INFINITY: return "infinity"
        return "04 %x %x" % (self.x, self.y)
 
 
def inverse_mod(a):
    if a < 0 or a >= p: a = a % p
    c, d, uc, vc, ud, vd = a, p, 1, 0, 0, 1
    while c:
        q, c, d = divmod(d, c) + (c,)
        uc, vc, ud, vd = ud - q * uc, vd - q * vc, uc, vc
    if ud > 0: return ud
    return ud + p
 
 
p, INFINITY = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2FL, Point(None, None)  # secp256k1
g = Point(0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798L,
          0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8L,
          0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141L)
secret = 0x2EE42A735AE3D0C1A7E435EF3B4731B0205A7839015E100BCC8472EE989EC887L
 
result = '  privkey:    %x\n   pubkey: %s' % (secret, g*secret)
f = open('test.txt', 'w')
f.write(result)
f.close()
Проверяйте, добавил маленький костыль
0
 Аватар для iparktur
0 / 0 / 1
Регистрация: 25.02.2013
Сообщений: 41
05.01.2020, 23:15
DewCooper, Какую задачу выполняет этот скрипт ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.01.2020, 23:15
Помогаю со студенческими работами здесь

Автоматическое сохранение любого имени файла в txt
Как сделать так, чтобы автоматически (без использования компонента SaveDialog) сохранить в заранее названный файл, например,...

Как сделать перенос из отдного txt файла текста в другой txt файл в Turbo C?
Надо сделать с потоками. fopen fgets fputs - с этими функциями

MySQL автоматическое получение данных из выборки и сохранение в txt,csv и т.д
Исходные данные: Есть удаленная БД MySQL, установленный коннект и запрос к ней, итого: выборка из БД. Нужно: Значения, возвращаемые...

Чтение из файла txt построчно и сохранение в массив. Как сделать?
УВАЖАЕМЫЙ, какое это имеет отношенте к разделу!Подскажите пожалуйста. Как прочитать из файла не все сразу а построчно, или например до '.' ...

Как сделать сохранение положения check box в txt файле или в cfg?
как сделать сохранение положения check box в txt файле или в cfg


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru