그래서 txt 파일을 사용하여 데이터를 저장하는 스톡 파일 시스템을 만들었습니다. 재고 수준이 특정 값 아래로 떨어지면이 제품을 별도의 txt 파일에 삽입하려고합니다. 이 작업을 수행 할 때마다 파일에는 마지막 제품의 데이터 만 있습니다. 루프가 실행될 때마다 다음 제품의 데이터가 이전 제품의 데이터를 덮어 씁니다.Txt for 루프를 사용할 때 파일 줄이 서로 덮어 씁니다.
편집 : 나는 아마 내가 그런 SLref 각 값이 여기
에 할당 된 것입니다 데이터 soource로 사전을 사용 언급해야하는 코드입니다 :
with open("Under the Reorder Level.txt", "r+") as u:
for item in restockItem:
while count < len(restockItem):
u.write(gtin)
u.write(' ')
product = str(restockItem[count])
u.write(product)
u.write(' ')
SLref = restockItemStock[count]
stocklevel = str(restockItemStock[count]))
u.write(stocklevel)
u.write(' ')
RLref = restockItemReorder[count]
reorderlevel = str(restockItemReorder[count])
u.write(reorderlevel)
u.write(' ')
TLref = restockItemTarget[count]
targetlevel = str(restockItemTarget[count])
u.write(targetlevel)
u.write(' ')
u.write('£')
u.write(' ')
Pref = restockItemPrice[count]
price = str(restockItemPrice[count])
u.write(price)
u.write('\n')
count = count + 1
print (count)
u.close()
TXT 파일 출력 읽
"09876545 티켓 6 10 50 100 £"
,174,515 15,읽어야하는 경우 :
"12345670 늦는다 17 10 50 £ 1
10,101,018 포토 프레임 11 10 50 £ 15
09,876,545 티켓 6 10 50 £ 100"
편집 번호 2 : 코드가 실행될 때마다 잠재적으로 다를 수 있습니다. 재고 수준 아래의 일부 새 항목 또는 재고 수준 이하의 항목이있는 재고 수준. 이러한 항목이 더 이상 재고 수준 아래에 있지 않으면이 파일에이 항목을 쓰지 않으려합니다. 따라서 파일을 쓰기 전에 매번 파일을 지우고 싶습니다. 재고 수준 이하의 항목은이 코드 블록 바로 전에 감지 된 다음 위에 사용 된 "RestockItem"이라는 목록에 저장됩니다. 파일을 열 수있는 여러 가지 방법을 이해합니다. 현재 잘못하고있는 부분을 잘 모릅니다. 내 이전 오류가 수정되었습니다 그러나 나는이 루프를 사용하기 전에 파일을 지울 때 올바른 출력을 얻을 수 없습니다.
open("Under the Reorder Level.txt", 'w+').close()
with open("Under the Reorder Level.txt", "a+") as u:
for item in restockItem:
while count < len(restockItem):
u.write(gtin)
u.write(' ')open("Under the Reorder Level.txt", 'w+').close()
with open("Under the Reorder Level.txt", "a+") as u:
for item in restockItem:
while count < len(restockItem):
u.write(gtin)
u.write(' ')
#carries on.......
내 생각에 데이터가 파일에 쓰여지고 있지 않습니다. 'with open'을 사용하면'close()'를 호출하여 파일을 닫을 필요가 없습니다. 파일이 열리고 닫힐 때를 예측하기는 어렵습니다. 문제의 근원이있을 가능성이 높습니다. –
오, 감사합니다. 그리고 나는 그것이 쓰여지고있는 것을 볼 수 있습니다. 그러나 어떤 이유로 새로운 코드 줄을 사용할 때 한 줄만 쓰여지거나 각 줄이 다시 덮어 쓰여질 수 있습니까? – AntsOfTheSky
나는 당신의 시간을 낭비했다는 것을 유감스럽게 생각하지만, 알아 냈습니다! 나는 그것을 옮기고 그것을 움직이게했기 때문에 새로운 라인을 틀린 장소에 넣었습니다 .. 도와 줘서 고마워, 정말 고마워! – AntsOfTheSky