Ошибка networkx read_dot – добавьте дополнительную вершинуPython

Программы на Python
Anonymous
Ошибка networkx read_dot – добавьте дополнительную вершину

Сообщение Anonymous »

Я использую read_dot из pydot (версия 1.4.2-2) и networkx (версия 2.8.8-1ubuntu1) в Python3 (версия 3.12.3).
Иногда read_dot добавляет дополнительную вершину с меткой «\n». Я заметил, что это как-то связано с наличием ";" в конце последней строки. Например, рассмотрим простой код ниже в файле с именем t.

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

    import sys
import networkx as nx

g = nx.Graph(nx.nx_pydot.read_dot(sys.stdin))
print(g,file=sys.stderr)
nx.nx_pydot.write_dot(g,sys.stdout)`
Кроме того, рассмотрим входной файл с именем test1.dot.

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

    graph {
1 -- 2;
}
Вывод команды
`$ t < test1.dot
дает результат, показанный ниже.

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

    Graph named 'G' with 3 nodes and 1 edges
strict graph "G" {
"\n";
1;
2;
1 -- 2;
}
Обратите внимание, что есть дополнительная вершина.
Если мы удалим ";" из входного файла вывод правильный.

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

    Graph named 'G' with 2 nodes and 1 edges
strict graph "G" {
1;
2;
1 -- 2;
}
Кто-нибудь замечал эту ошибку раньше? Это настоящая ошибка или я использую ее неправильно?

Подробнее здесь: https://stackoverflow.com/questions/790 ... tra-vertex

Вернуться в «Python»