cmd 외부명령

python을 이용하여 cmd 의 몇가지 명령 실행시키기

기본요구

  • 개발사이트에 주피터를 올리는 중, 주피터 파일을 변환시키는 명령을 각 파일마다 수행해야 함.
  • 이를 python으로 자동화해 봄.

http://noplanlife.com/?p=949

import os
for (path, dir, files) in os.walk("c:/Users/SSHS/Desktop/ex"):
    print(path,dir,files)
  c:/Users/SSHS/Desktop/ex [] ['@property 공부.ipynb', 'class study.ipynb', 'counter 및 count 예제.ipynb', 'function_args_가변인자.ipynb', 'json 과 함수.ipynb', 'mytemplate.tpl', 'numpystudy.ipynb', 'panda-연습2.ipynb', 'pandas연습.ipynb', '같은것이 있는 순열-Class 사용예제.ipynb', '제너레이터 연습.ipynb', '함수.ipynb', '호출가능한 객체.ipynb']

path
  'c:/Users/SSHS/Desktop/ex'

notebook을 md로 전환

- 이때 템플릿을 사용하여 jupyter의 in, out에 적당한 클래스 부여
for filename in files:
    ext = os.path.splitext(filename)[-1]
#     print(ext)
    if ext == '.ipynb':
#         ext_filename = os.path.join(path,filename)
        ext_filename = path+ "/"+filename

        print(ext_filename)
        os.system(r'jupyter nbconvert --to markdown --template C:/Users/SSHS/Desktop/ex/mytemplate.tpl '+'"' +ext_filename+'"')
        print('*'*10)

  c:/Users/SSHS/Desktop/ex/@property 공부.ipynb
**********
c:/Users/SSHS/Desktop/ex/class study.ipynb
**********
c:/Users/SSHS/Desktop/ex/counter 및 count 예제.ipynb
**********
c:/Users/SSHS/Desktop/ex/function_args_가변인자.ipynb
**********
c:/Users/SSHS/Desktop/ex/json 과 함수.ipynb
**********
c:/Users/SSHS/Desktop/ex/numpystudy.ipynb
**********
c:/Users/SSHS/Desktop/ex/panda-연습2.ipynb
**********
c:/Users/SSHS/Desktop/ex/pandas연습.ipynb
**********
c:/Users/SSHS/Desktop/ex/같은것이 있는 순열-Class 사용예제.ipynb
**********
c:/Users/SSHS/Desktop/ex/제너레이터 연습.ipynb
**********
c:/Users/SSHS/Desktop/ex/함수.ipynb
**********
c:/Users/SSHS/Desktop/ex/호출가능한 객체.ipynb
**********

  • 띄어쓰기가 있는 항목은 실패함. 빈칸이 있으니 인수자체로 인식하는 것 같음.
  • 따옴표를 파일이름 앞뒤에 붙여주어 성공함.

파일지우기

  • 필요없는 ipython note파일 지우기
for filename in files:
    ext = os.path.splitext(filename)[-1]
#     print(ext)
    if ext == '.ipynb':
#         ext_filename = os.path.join(path,filename)
        ext_filename = path+ "/"+filename
        os.remove(ext_filename)
        print('*'*10)
  **********
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********
**********

파일이름 바꾸기

  • jekyll에 들어가도록 날짜를 넣어주어야 함.
for (path, dir, files) in os.walk("c:/Users/SSHS/Desktop/ex"):

    for filename in files:
        ext = os.path.splitext(filename)[-1]
        if ext == '.md':
            ext_filename = path+ "/"+filename
            editname = 'c:/Users/SSHS/Desktop/mytest/2018-06-21-' + filename
            print(editname)
            os.renames(ext_filename,editname)


  c:/Users/SSHS/Desktop/mytest/2018-06-21-@property 공부.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-class study.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-counter 및 count 예제.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-function_args_가변인자.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-json 과 함수.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-numpystudy.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-panda-연습2.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-pandas연습.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-같은것이 있는 순열-Class 사용예제.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-제너레이터 연습.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-함수.md
c:/Users/SSHS/Desktop/mytest/2018-06-21-호출가능한 객체.md

머릿말 넣기 과정이 남음.

Tags:

Updated:

Leave a Comment