Страница 1 из 1

Отображение фTab файла в каталоге данных

Добавлено: 11 апр 2022, 05:51
Alex_Y
Здравствуйте.

Делаю стандартный скрипт создания файла из документации

Код: Выделить всё

from axipy.da import *

definition = {
    'src': r'd:\table.tab',
    'schema': attr.schema(
        attr.string('field1'),
        attr.integer('field2'),
    ),
}
table = provider_manager.create(definition)
Файл создается, все хорошо. Но, в каталоге открытых данных он показывается вот так:
C:/Users/Алексей/AppData/Local/Temp/2d95b83fb3a94ba081b999b210f6e606
Такое наблюдается при первом запуске скрипта.

А еще, выполняю от крытие этогло файла:

Код: Выделить всё

provider_manager.openfile(r'd:\table.tab')
Файл не появляется в каталоге открытых данных.

Re: Отображение фTab файла в каталоге данных

Добавлено: 11 апр 2022, 07:01
Alex_Y
Дело не в первом запуске, а в том, что файл отсуствует.

Код: Выделить всё

import os
from axipy.da import *

f_tab = r'd:\table.tab'
os.remove(f_tab)

for i in range(3):
    tab = provider_manager.createfile(f_tab, attr.schema(attr.integer('field2')))   
    print(i, tab.name)
    tab.close()
    if i == 1:
        os.remove(f_tab)
Результат:
0 C:/Users/Алексей/AppData/Local/Temp/8aabab0221d8443ab80f04417473ea33
1 d:\table.tab
2 C:/Users/Алексей/AppData/Local/Temp/b23fe69754fa4d9cb3666ebba0cb6318
Значение tab.name устанавливается некорректно или вообще не устанавливается.

Re: Отображение фTab файла в каталоге данных

Добавлено: 11 апр 2022, 09:05
Дмитрий
Здравствуйте.

1.
По поводу имени. Его можно задать после создания объекта. То, что не берется из имени создаваемого файла, если тот не существует, исправим. Спасибо.

definition = {
'src': r'd:\table.tab',
'schema': attr.schema(
attr.string('field1'),
attr.integer('field2'),
),
}
table = provider_manager.create(definition)
table.name = 'new_name'

2.
Как я понимаю, не открывается только что созданный? Нам не удалось повторить.

3.
Да, это следствие п.1. И при закрытии таблицы она не закрывается моментально, а проводит некоторые операции по зачистке занимаемых ресурсов. Отсюда и разночтение по выводу.