2010-12-17 7 views
2

간단한 조작을 따르기 위해 python 자동화 스크립트에서 사용하는 것이 더 좋습니다 zip 파일을 작성하고 복사하거나 새 위치로 이름을 바꾸려면 다음을 수행하십시오. os.system 모듈을 통해 python inbuilt 함수 또는 터미널 명령을 사용하는 것이 더 낫습니까?어느 쪽이 더 낫습니까? inbuilt 파이썬 함수 또는 os.system 명령 사용?

+3

"더 나은"이란 무엇을 의미합니까? 더 휴대용? 빨리? 더 많은 안전 장치가 필요합니까? 코드 작성이 빨라 집니까? 이 기준의 대부분에 대한 대답은 : Python 라이브러리를 사용하고'os.system()'을 피하십시오. –

답변

2

필자는 스크립트를 이식 할 수 있기 때문에 파이썬이라고 말할 수 있습니다. 그러나 때로는 성능 및 가용성 문제가 있습니다.

11

어디서든 inbuilt 파이썬 모듈/stdlib subprocess (os.system)해야합니다.

이유 : 이식성, 유지 보수, 코드 가독성이 그 중 일부입니다.

2

일반적으로 나는 가능한 한 파이썬 라이브러리를 사용한다고 말하고 싶다. 다양한 시스템에서 다른 명령이나 명령 옵션에 대해 걱정할 필요가 없으며, 무엇이든 바꿀 필요가있는 경우에는 파이썬 코드를 사용하는 것이 더 쉽습니다.

0

파이썬 내부 명령 사용은 특히 이식성 측면에서 매우 좋습니다.

그러나 어떤 점에서는 2.7보다 오래된 Python에서 "os.kill"이 부족하여 혼란 스러울 수 있습니다. (Windows), os.Popen이 작동하는 방식에 놀랄 수 있습니다. win32pipe 등을 발견 할 것입니다.

개인적으로 나는 항상 작은 연구 (데몬 등이 필요합니까)를 제안하고 결정할 것입니다. 당신은 윈도우 플랫폼이 필요 없다면 - 파이썬의 내부를 사용하는 것이 더 효율적일 수 있습니다.

관련 문제