myślę, że i
w .pyi
oznacza „Interface”
definicja interfejsu w Java:
interfejs w języku programowania Java jest abstrakcyjnym typem, który służy do określenia zachowań te klasy muszą implementować
- Z pythonrepozytoriumGitHub:
Każdy moduł Pythona jest reprezentowany przez "odgałęzienie" .pyi
. Jest to normalna plik Pythona (to znaczy może być interpretowane przez Pythonie 3) wyjątkiem wszystkich metod pusty.
- W 'Mypy' repozytorium one wyraźnie wspomnieć pliki „pośredniczące” jako interfejsy publicznych: Plik odcinki
A zawiera jedynie opis publicznego interfejsu z moduł bez wdrożenia.
Ponieważ "Interfejsy" nie istnieją w Pythonie (patrz: SO question between Abstract class and Interface) Myślę, że projektanci zamierzali poświęcić specjalne rozszerzenie.
pyi
wdrożenia „en” plik (definicja z Martin Flowers)
Stubs: zapewnienie puszkach odpowiedzi dla połączeń wykonywanych w trakcie badania, zwykle nie reaguje w ogóle do czegokolwiek poza to, co jest zaprogramowana dla test.
Ale ludzie są bardziej zaznajomieni z interfejsami niż pliki „stub”, dlatego łatwiej było wybrać .pyi
zamiast .pys
aby uniknąć niepotrzebnych nieporozumień.
Według [to] (https://www.filesuffix.com/en/extension/pyi) Opcja 'rozszerzenie pyi' służy do Cognos modelu Files. Być może patrzysz na plik 'pyc' z innym rozszerzeniem, który jest skompilowany w Pythonie. Spróbuj porównywanie sum kontrolnych do rzeczywistej 'pyc' pliku, a następnie wiesz, że to co najmniej plik binarny. –
Zgodnie z dokumentacją w sprawie pakietu Python wydaje się myśli: [Python Informacja] [1] [1]: https://pypi.python.org/pypi/pyi/0.1.0 – NationWidePants
@NationWidePants myślę, że to różne 'pyi'. –