]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/file/magic/Magdir/python
MFC r357757: MFV r357712: file 5.38.
[FreeBSD/FreeBSD.git] / contrib / file / magic / Magdir / python
1
2 #------------------------------------------------------------------------------
3 # $File: python,v 1.37 2019/10/21 19:40:58 christos Exp $
4 # python:  file(1) magic for python
5 #
6 # Outlook puts """ too for urgent messages
7 # From: David Necas <yeti@physics.muni.cz>
8 # often the module starts with a multiline string
9 0       string/t        """     Python script text executable
10 # MAGIC as specified in Python/import.c (1.0 to 3.7)
11 # two bytes of magic followed by "\r\n" in little endian order
12 0       belong          0x02099900      python 1.0 byte-compiled
13 0       belong          0x03099900      python 1.1/1.2 byte-compiled
14 0       belong          0x892e0d0a      python 1.3 byte-compiled
15 0       belong          0x04170d0a      python 1.4 byte-compiled
16 0       belong          0x994e0d0a      python 1.5 byte-compiled
17 0       belong          0xfcc40d0a      python 1.6 byte-compiled
18 0       belong          0xfdc40d0a      python 1.6 byte-compiled
19 0       belong          0x87c60d0a      python 2.0 byte-compiled
20 0       belong          0x88c60d0a      python 2.0 byte-compiled
21 0       belong          0x2aeb0d0a      python 2.1 byte-compiled
22 0       belong          0x2beb0d0a      python 2.1 byte-compiled
23 0       belong          0x2ded0d0a      python 2.2 byte-compiled
24 0       belong          0x2eed0d0a      python 2.2 byte-compiled
25 0       belong          0x3bf20d0a      python 2.3 byte-compiled
26 0       belong          0x3cf20d0a      python 2.3 byte-compiled
27 0       belong          0x6df20d0a      python 2.4 byte-compiled
28 0       belong          0x6ef20d0a      python 2.4 byte-compiled
29 0       belong          0xb3f20d0a      python 2.5 byte-compiled
30 0       belong          0xb4f20d0a      python 2.5 byte-compiled
31 0       belong          0xd1f20d0a      python 2.6 byte-compiled
32 0       belong          0xd2f20d0a      python 2.6 byte-compiled
33 0       belong          0x03f30d0a      python 2.7 byte-compiled
34 0       belong          0x04f30d0a      python 2.7 byte-compiled
35 0       belong          0x3b0c0d0a      python 3.0 byte-compiled
36 0       belong          0x4f0c0d0a      python 3.1 byte-compiled
37 0       belong          0x6c0c0d0a      python 3.2 byte-compiled
38 0       belong          0x9e0c0d0a      python 3.3 byte-compiled
39 0       belong          0xee0c0d0a      python 3.4 byte-compiled
40 0       belong          0x160d0d0a      python 3.5.2- byte-compiled
41 0       belong          0x170d0d0a      python 3.5.3+ byte-compiled
42 0       belong          0x330d0d0a      python 3.6 byte-compiled
43 0       belong          0x420d0d0a      python 3.7 byte-compiled
44
45
46 0       search/1/w      #!\ /usr/bin/python     Python script text executable
47 !:strength + 15
48 !:mime text/x-python
49 0       search/1/w      #!\ /usr/local/bin/python       Python script text executable
50 !:strength + 15
51 !:mime text/x-python
52 0       search/1        #!/usr/bin/env\ python  Python script text executable
53 !:strength + 15
54 !:mime text/x-python
55 0       search/10       #!\ /usr/bin/env\ python        Python script text executable
56 !:strength + 15
57 !:mime text/x-python
58
59
60 # from module.submodule import func1, func2
61 0       search/8192     import
62 >0      regex           \^from[\040\t\f\r\n]+([A-Za-z0-9_]|\\.)+[\040\t\f\r\n]+import.*$        Python script text executable
63 !:strength + 15
64 !:mime text/x-python
65
66 # def __init__ (self, ...):
67 0       search/4096     def\ __init__
68 >&0     search/64 self  Python script text executable
69 !:strength + 15
70 !:mime text/x-python
71
72 # if __name__ == "__main__":
73 0 search/4096 if\ __name__
74 >&0 search/64 '__main__'        Python script text executable
75 >&0 search/64 "__main__"        Python script text executable
76 !:strength + 15
77 !:mime text/x-python
78
79 # import module [as abrev]
80 0       search/8192     import
81 >0      regex   \^import\ [_[:alpha:]]+\ as\ [[:alpha:]][[:space:]]*$ Python script text executable
82 !:mime text/x-python
83
84 # comments
85 #0      search/4096     '''
86 #>&0    regex   .*'''$  Python script text executable
87 #!:mime text/x-python
88
89 #0      search/4096     """
90 #>&0    regex   .*"""$  Python script text executable
91 #!:mime text/x-python
92
93 # try:
94 # except: or finally:
95 # block
96 0       search/4096     try:
97 >&0     regex   \^[[:space:]]*except.*:$        Python script text executable
98 !:strength + 15
99 !:mime text/x-python
100 >&0     search/4096     finally:        Python script text executable
101 !:mime text/x-python
102
103 # class name[(base classes,)]: [pass]
104 0       search/8192     class
105 >0      regex   \^class\ [_[:alpha:]]+(\\(.*\\))?(\ )*:([\ \t]+pass)?$          Python script text executable
106 !:strength + 15
107 !:mime text/x-python
108
109 # def name(*args, **kwargs):
110 0       search/8192     def\ 
111 >0      regex    \^[[:space:]]{0,50}def\ {1,50}[_a-zA-Z]{1,100}
112 >>&0    regex    \\(([[:alpha:]*_,\ ]){0,255}\\):$ Python script text executable
113 !:strength + 15
114 !:mime text/x-python