2014-07-11 2 views
-1

파일을 열고 행을 읽고 해시 한 다음 다른 파일에 저장해야합니다. 스크립트 시작 부분에 두 텍스트 파일을 모두 열어야합니까, 아니면 저장/읽을 때마다 각각 열어야합니까? 저는이 모든 것을 처음 접했고 sl4a 용 안드로이드 용 파이썬을 사용하고 있습니다. 지금까지 내 코드 :두 파일을 여는 가장 좋은 방법

import android 
import hashlib 
import time 
name = 0 
droid = android.Android() 
name = raw_input("Enter a password to hash: ") 
hash_object = hashlib.md5 (name) 
print(hash_object.hexdigest()) 
time.sleep(2) 
print name 

f = open('name.txt', 'w',) 
f.write(hash_object.hexdigest()) 
f.close() 
+1

하나의 파일을 여는 것처럼 보이십니까? – Bob

+1

매번 열거 나 닫지 마십시오. 내 경험으로 볼 때 더 느립니다. 다른 사람이 벤치 마크를 실행할 수도 있고 그렇지 않을 수도 있습니다. 처음에는 둘 다 열어두기 만하면됩니다. – chilemagic

답변

0

예는 처음에 모두 열어야하며 완료되면 닫는 과정을 반복해야합니다.

그래서 그 대신 당신이 파일의 경우 읽고 싶은 사용자의 입력을 읽기, 말하기의이 같은 :

import android 
import hashlib 
import time 
name = 0 
droid = android.Android() 

f_in = open('input.txt', 'r',) 
f_out = open('output.txt', 'w',) 
for line in f_in.readlines(): 
    hash_object = hashlib.md5 (line) 
    f_out.write(hash_object.hexdigest()) 

f_in.close() 
f_out.close() 
+0

잘 작동했습니다. 감사! 이제 newline char를 삽입하고 gui에서 작업하십시오. – user3530608

1

당신이 파일에서 읽어 name.txt 및 다른 기록 할 경우

with open('name.txt', 'r') as f, open('out.txt', 'w') as f1: 
    line = f.next() # get first line 
    hash_object = hashlib.md5 (line) 
    f1.write(hash_object.hexdigest()) # write to second file 
관련 문제