어떻게 파이썬 스크립트 자체를 변경할 수 있습니까?어떻게 파이썬 스크립트 자체를 변경할 수 있습니까?
내가 같은 파이썬 스크립트 (run.py
)을하고 싶은, 그것을 아래로 끓여이
a = 0
b = 1
print a + b
# do something here such that the first line of this script reads a = 1
이러한 스크립트가 실행되는 다음 번에이
a = 1
b = 1
print a + b
# do something here such that the first line of this script reads a = 2
인가처럼 보일 것이다 어떤 방법 으로든 가능합니까? 스크립트는 외부 리소스를 사용할 수 있습니다. 그러나 모든 것을 실행하려면 run.py
-file을 실행하면됩니다.
편집 : 충분히 명확하지는 않지만 스크립트는 다른 파일이 아닌 자체적으로 업데이트해야합니다. 물론, 스크립트 옆에 간단한 구성 파일을 허용하면이 작업은 간단합니다.
답변 :
사실은 생각보다 훨씬 쉽다. @khelwood의 제안은 잘 작동하고, 스크립트를 열고, 자신의 컨텐츠를 작성하는 것은 전혀 문제가되지 않습니다. @ Gerrat의 솔루션도 훌륭하게 작동합니다. 파일 한 줄에 하나의 문자가 포함 a.txt
을 확인
a = 0
b = 1
print a + b
with open(__file__, 'r') as f:
lines = f.read().split('\n')
val = int(lines[0].split(' = ')[-1])
new_line = 'a = {}'.format(val+1)
new_file = '\n'.join([new_line] + lines[1:])
with open(__file__, 'w') as f:
f.write('\n'.join([new_line] + lines[1:]))
예 가능합니다. 실제로 그 목표를 달성하는 데는 여러 가지 방법이 있습니다. –
네, 가능하지만 그 이유는 무엇입니까? – Jaco
'open ('run.py ','w ') ...'을 사용하여 스크립트를 열고 원하는 경우 스크립트를 변경할 수 있습니다. 그것이 당신이 알고 싶었던 것입니까? – khelwood