저는 도구를 작성하는 데 익숙하지 않고 답을 구상했지만 도움이되는 링크는 거의 없습니다.waf 스크립트에서 OS 플랫폼을 지정하는 방법은 무엇입니까?
아는 사람 있습니까?
wscript는 본질적으로 파이썬 스크립트이므로 os
패키지를 사용할 수 있습니까?
저는 도구를 작성하는 데 익숙하지 않고 답을 구상했지만 도움이되는 링크는 거의 없습니다.waf 스크립트에서 OS 플랫폼을 지정하는 방법은 무엇입니까?
아는 사람 있습니까?
wscript는 본질적으로 파이썬 스크립트이므로 os
패키지를 사용할 수 있습니까?
다른 파이썬 스크립트를 사용할 수있는 모든 지점에서 import
을 사용할 수 있습니다.
대신 os
의 일부 속성을 평가할 때 os-agnostic 함수를 프로그래밍하는 데 platform
을 사용하는 것이 좋습니다. waf book OS 불가지론에 Build-related commands 예를 쓰기
,이 같은 것을 볼 수 있었다 :
ctx.load('compiler_c')
print (ctx.env.DEST_OS, ctx.env.DEST_CPU, ctx.env.DEST_BINFMT)
에 :
는import platform
top = '.'
out = 'build_directory'
def configure(ctx):
pass
def build(ctx):
if platform.system().lower().startswith('win'):
cp = 'copy'
else:
cp = 'cp'
ctx(rule=cp+' ${SRC} ${TGT}', source='foo.txt', target='bar.txt')
대신 DEST_*
변수를 사용 os
모듈을 사용하지 마십시오 내 컴퓨터는 ('linux', 'x86_64', 'elf')
을 인쇄 할 것입니다. 그런 다음에 파견 할 수 있습니다.
당신은 다른 파이썬 스크립트에서 할 수있는 모든 곳에서'import os'를 사용할 수 있습니다. 'wscript'는 (어느 정도) 플랫폼에 무관심한 코드입니다. 나는 개인적으로'platform'을 사용하고'os'를 사용하지 않습니다. Windows 및 Linux/Unix에서 서로 다른 동작을하는 경우 다음과 같이 사용합니다. platform.system(). lower(). startswith ('win') : a = 'x' else : a = 'y'. 이 질문에 대한 대답이 있습니까? 그런 다음 나는 완전한 모범을 답으로 써 놓을 것이다. – user69453
@ user69453 : 귀하의 의견을 답장 해 주시기 바랍니다. 질문이 변경되면 편집 할 수 있습니다. – neuro