MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / main

Function main

tools/python-3.11.9-amd64/Tools/scripts/which.py:16–58  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

14 sys.stderr.write(str + '\n')
15
16def main():
17 pathlist = os.environ['PATH'].split(os.pathsep)
18
19 sts = 0
20 longlist = ''
21
22 if sys.argv[1:] and sys.argv[1][:2] == '-l':
23 longlist = sys.argv[1]
24 del sys.argv[1]
25
26 for prog in sys.argv[1:]:
27 ident = ()
28 for dir in pathlist:
29 filename = os.path.join(dir, prog)
30 try:
31 st = os.stat(filename)
32 except OSError:
33 continue
34 if not S_ISREG(st[ST_MODE]):
35 msg(filename + ': not a disk file')
36 else:
37 mode = S_IMODE(st[ST_MODE])
38 if mode & 0o111:
39 if not ident:
40 print(filename)
41 ident = st[:3]
42 else:
43 if st[:3] == ident:
44 s = 'same as: '
45 else:
46 s = 'also: '
47 msg(s + filename)
48 else:
49 msg(filename + ': not executable')
50 if longlist:
51 sts = os.system('ls ' + longlist + ' ' + filename)
52 sts = os.waitstatus_to_exitcode(sts)
53 if sts: msg('"ls -l" exit status: ' + repr(sts))
54 if not ident:
55 msg(prog + ': not found')
56 sts = 1
57
58 sys.exit(sts)
59
60if __name__ == '__main__':
61 main()

Callers 1

which.pyFile · 0.70

Calls 9

S_ISREGFunction · 0.85
msgFunction · 0.85
S_IMODEFunction · 0.85
systemMethod · 0.80
printFunction · 0.50
splitMethod · 0.45
joinMethod · 0.45
statMethod · 0.45
exitMethod · 0.45

Tested by

no test coverage detected