-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathp_subprocess.py
More file actions
50 lines (37 loc) · 1.43 KB
/
p_subprocess.py
File metadata and controls
50 lines (37 loc) · 1.43 KB
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
import subprocess
# ret = subprocess.call(['ls', '-l'], shell=False)
# print(ret)
# ret = subprocess.call('ls -l', shell=True)
# print(ret)
# ret = subprocess.check_call('ls -l', shell=True)
# ret = subprocess.check_output('ls -l', shell=True)
# print(ret)
# ret1 = subprocess.Popen(['mkdir', '/Users/jason/Desktop/t1'])
# ret2 = subprocess.Popen('mkdir /Users/jason/Desktop/t2', shell=True)
# subprocess.Popen('mkdir t3', shell=True, cwd='/Users/jason/Desktop')
def a():
obj = subprocess.Popen(['python'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
universal_newlines=True)
obj.stdin.write('print(1)\n')
obj.stdin.write('print(2)')
obj.stdin.close()
cmd_out = obj.stdout.read()
obj.stdout.close()
cmd_error = obj.stderr.read()
obj.stderr.close()
print(cmd_out)
print(cmd_error)
def b():
obj = subprocess.Popen(['python'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
universal_newlines=True)
obj.stdin.write('print(1)\n')
obj.stdin.write('print(2)')
out_err_list = obj.communicate()
print(out_err_list)
def c():
obj = subprocess.Popen(['python'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
universal_newlines=True)
out_err_list = obj.communicate('print("hello")')
print(out_err_list)
if __name__ == '__main__':
c()