나는 현재 내 코드가하는 일을 수행하기위한 더 파이썬적인 방법을 찾고있다. 나는 이것을 할 수있는 더 좋은 방법이있을 것이라고 확신한다. filename-10까지 검색하고 싶다면 filename-11이라는 파일을 만듭니다.파일이 존재하는지 확인하는 방법 파이썬에서 이름을 바꾼다.
도움이 될 수 있다면 도움이 될 것입니다.
편집 : 9/1/14 오후 9시 46분
import re
import os
f=open('/Users/jakerandall/Desktop/Data Collection Python/temp.cnc', 'r')
text = re.search(r"(?<!\d)\d{4,5}(?!\d)", f.read())
JobNumber = text.string[text.start():text.end()]
if os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-10.cnc" % JobNumber):
f=open("/Users/jakerandall/Desktop/Data Collection Python/%s-11.cnc" % JobNumber, 'w+b')
f.close()
print '1'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-9.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-10.cnc' % JobNumber, 'w+b')
f.close()
print '2'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-8.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-9.cnc' % JobNumber, 'w+b')
f.close()
print '3'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-7.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-8.cnc' % JobNumber, 'w+b')
f.close()
print '4'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-6.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-7.cnc' % JobNumber, 'w+b')
f.close()
print '5'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-5.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-6.cnc' % JobNumber, 'w+b')
f.close()
print '6'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-4.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-5.cnc' % JobNumber, 'w+b')
f.close()
print '7'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-3.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-4.cnc' % JobNumber, 'w+b')
f.close()
print '8'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-2.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-3.cnc' % JobNumber, 'w+b')
f.close()
print '9'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s-1.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-2.cnc' % JobNumber, 'w+b')
f.close()
print '10'
elif os.path.isfile("/Users/jakerandall/Desktop/Data Collection Python/%s.cnc" % JobNumber):
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s-1.cnc' % JobNumber, 'w+b')
f.close()
print '11'
else:
f=open('/Users/jakerandall/Desktop/Data Collection Python/%s.cnc' % JobNumber, 'w+b')
f.close()
print '12'
f.close()
이 경우 각각 괄호의'% JobNumber' *를 쓰지 않고 * % *에 삽입하지 않을 것입니다. 이것은 아마도 당신이하고자하는 것이 아닙니다. –
만약 * next * 번호가 매겨진 파일을 순서대로 쓰고 싶다면 a) 그 디렉토리에서 최대 번호가 매겨진 파일을 확인한 다음 b) 그 번호를 하나씩 늘리고 열어 라.) –
David - 방금 깨달았습니다. 그 점을 지적 해 주셔서 감사합니다. 하하에게 말할 수있는 것처럼 아직 파이썬에 대한 새로운 지식은 없습니다. Joel - 정확히 내가하려고하는 것 나는 단지 어떻게 해야할지 모르겠다. –