필자는 파이썬에서 몇 줄의 코드를 작성하여 텍스트 파일을 읽을 수 있는지, 라인 자체가 나열되어있는 목록을 만든 다음 모든 것을 다시 문자열로 변환하고 다른 파일에 출력으로 작성하십시오. 이것은 바보 같이 들릴지도 모르지만 목록에 나온 항목을 뒤섞기위한 것이므로 처음에 올바르게 읽고 쓸 수 있어야합니다.파이썬 코드가 인터프리터에서 실행되지 않는 한 파일에 쓰지 않는다.
import csv,StringIO
datalist = open('tmp/lista.txt', 'r')
leyendo = datalist.read()
separando = csv.reader(StringIO.StringIO(leyendo), delimiter = '\t')
macrolist = list(separando)
almosthere = ('\t'.join(i) for i in macrolist)
justonemore = list(almosthere)
arewedoneyet = '\n'.join(justonemore)
with open('tmp/randolista.txt', 'w') as newdoc:
newdoc.write(arewedoneyet)
newdoc.close()
datalist.close()
이 내가 통역에 라인으로 라인을 실행하면 잘 작동하는 것 같다,하지만 난 별도의 파이썬 스크립트로 저장하고 실행할 때 (myscript.py) 아무 일도 발생하지 :이 코드입니다. 출력 파일도 생성되지 않습니다. 비슷한 문제를 여기에서 제기 한 후, 나는 output = open()을 통해 출력 파일을 열기 전에 'with'매개 변수를 도입 했으므로 파일을 닫을뿐만 아니라 플러시도 시도했습니다. 아무 것도 작동하지 않습니다. . 독립 실행 형 스크립트는별로 도움이되지 않지만 인터프리터에서 작동하면 코드가 잘못 될 수는 없습니다. 맞습니까?
미리 감사드립니다.
추신 : 나는 Python을 처음 사용하고 프로그래밍에 익숙하지 않으므로, 기본적인 문제에 대한 이해가 부족하기 때문에 사과드립니다.
'newdoc.close()'를 할 필요가 없습니다.'with' 문 끝에서 벗어나면 닫힙니다. 또한,'StringIO'를 사용할 필요가 없습니다. - csv.reader (datalist, delimiter = '\ t')'이면 충분합니다. – lvc
close() 문을 사용했는데 여전히 작동하지 않습니다 ... –