[파이썬 Example #002] Linux에서 OS 모듈로 프로그램 여러개 실행
2019. 9. 2. 11:13ㆍ컴퓨터_Com/파이썬 지식_Things to remember
두 가지 다른 방법이 있다.
1. OS 모듈의 'system' 이용하면 linux terminal에서 사용하던 명령어를 쓸 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import os
os.system('casmo4e -kw 01_casmo_a0.inp')
os.system('casmo4e -kw 02_casmo_b0.inp')
os.system('casmo4e -kw 03_casmo_b0c.inp')
os.system('casmo4e -kw 04_casmo_b1.inp')
os.system('casmo4e -kw 05_casmo_b1c.inp')
os.system('casmo4e -kw 06_casmo_b2.inp')
os.system('casmo4e -kw 07_casmo_b2c.inp')
os.system('casmo4e -kw 08_casmo_b3.inp')
os.system('casmo4e -kw 09_casmo_b3c.inp')
os.system('casmo4e -kw 10_casmo_c0.inp')
os.system('casmo4e -kw 11_casmo_c1.inp')
os.system('casmo4e -kw 12_casmo_c1c.inp')
os.system('casmo4e -kw 13_casmo_c2.inp')
os.system('casmo4e -kw 14_casmo_c2c.inp')
os.system('casmo4e -kw 15_casmo_c3.inp')
os.system('casmo4e -kw 16_casmo_c3c.inp')
|
cs |
위 방법 대로 하면 input 파일을 다 복사해서 script에 넣어야 하지만 아래 방법대로 하면 실행할 때 파이썬 실행파일 뒤에 하나의 변수로 input 파일을 쓸 수 있다.
2. 두 번째 방법은 파이썬 파일실행시에 실행하고 싶은 입력파일(input_file)을 변수로 받는 것이다.
아래의 script를 보면 input_file이 argv[1]으로 저장되고 run_sim이라는 리스트에 저장되었다가 join method로 합쳐져서 실행된다.
1
2
3
4
5
6
7
8
9
|
'''Usage
>>> python3 run.py input_file
'''
import os, sys
run_sim = ['casmo4e -kw']
run_sim.append(sys.argv[1])
os.system(" ".join(run_sim))
|
cs |
3. subprocess를 이용해도 됨
1
2
3
4
5
6
|
import subprocess
input_file = "simulate_apr_c1_qc"
def run_simulate_out(input_file): # with OUTPUT
subprocess.check_call(["simulate3 -kw {0}.inp".format(input_file)], shell=True)
|
cs |
4. 폴더에 있는 여러 인풋파일을 실행
현재 폴더 안에 있는 모든 인풋파일을 리스트로 만들어서 for loop로 실행하는 방법
1
2
3
4
5
6
7
8
9
10
11
|
import os
all_file_list = os.listdir() # 현재 폴더의 모든 파일 리스트
inp_file_list = [file for file in all_file_list if file.endswith(".inp")]
print("file_list: {}".format(inp_file_list))
for inp_file in inp_file_list:
run_sim = ['simulate3 -kw']
run_sim.append(inp_file)
os.system(" ".join(run_sim))
|
cs |
'컴퓨터_Com > 파이썬 지식_Things to remember' 카테고리의 다른 글
[PyCharm #002] SciView 열기 (0) | 2019.10.16 |
---|---|
[파이썬 Example #004] text파일의 특정 단어를 찾아서 새로운 파일에 쓰기 (0) | 2019.09.19 |
[PyCharm #001] 새 프로젝트 만들기, Remote Host 브라우저 띄우기, Remote Host Terminal 띄우기 (0) | 2019.09.18 |
[파이썬 Example #003] pandas 다루기 (0) | 2019.09.10 |
[파이썬 Example #001] random함수로 난수 생성 (0) | 2019.08.27 |