FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
ipython/IPython/utils/process.py at python-3.14-dev · krassowski/ipython · GitHub
krassowski
ipython
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
ipython
/
IPython
/
utils
/
process.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
71 lines (53 loc) · 1.94 KB
Breadcrumbs
ipython
/
IPython
/
utils
/
process.py
Copy path
File metadata and controls
71 lines (53 loc) · 1.94 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# encoding: utf-8
"""
Utilities for working with external processes.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
import
os
import
shutil
import
sys
if
sys
.
platform
==
'win32'
:
from
.
_process_win32
import
system
,
getoutput
,
arg_split
,
check_pid
elif
sys
.
platform
==
'cli'
:
from
.
_process_cli
import
system
,
getoutput
,
arg_split
,
check_pid
elif
sys
.
platform
==
"emscripten"
:
from
.
_process_emscripten
import
system
,
getoutput
,
arg_split
,
check_pid
else
:
from
.
_process_posix
import
system
,
getoutput
,
arg_split
,
check_pid
from
.
_process_common
import
getoutputerror
,
get_output_error_code
,
process_handler
class
FindCmdError
(
Exception
):
pass
def
find_cmd
(
cmd
):
"""Find absolute path to executable cmd in a cross platform manner.
This function tries to determine the full path to a command line program
using `which` on Unix/Linux/OS X and `win32api` on Windows. Most of the
time it will use the version that is first on the users `PATH`.
Warning, don't use this to find IPython command line programs as there
is a risk you will find the wrong one. Instead find those using the
following code and looking for the application itself::
import sys
argv = [sys.executable, '-m', 'IPython']
Parameters
----------
cmd : str
The command line program to look for.
"""
path
=
shutil
.
which
(
cmd
)
if
path
is
None
:
raise
FindCmdError
(
'command could not be found: %s'
%
cmd
)
return
path
def
abbrev_cwd
():
""" Return abbreviated version of cwd, e.g. d:mydir """
cwd
=
os
.
getcwd
().
replace
(
'
\\
'
,
'/'
)
drivepart
=
''
tail
=
cwd
if
sys
.
platform
==
'win32'
:
if
len
(
cwd
)
<
4
:
return
cwd
drivepart
,
tail
=
os
.
path
.
splitdrive
(
cwd
)
parts
=
tail
.
split
(
'/'
)
if
len
(
parts
)
>
2
:
tail
=
'/'
.
join
(
parts
[
-
2
:])
return
(
drivepart
+
(
cwd
==
'/'
and
'/'
or
tail
))
Back
|
FazBrowse Home
|
New Git URL