내 python 프로그램이 ssh를 통해 메일 로그 데이터를 가져옵니다. 내가열린 파일 오류가있는 Python
with text as f:
for line in f:
try:
.... regex stuff....
으로 줄에이 라인을 통해 이동하려고 할 때 다음과 같은 에러가 발생합니다
Traceback (most recent call last):
File "xxxxxxxxxxxxxxxxxxxxxxxx", line 90, in <module>
start()
File "xxxxxxxxxxxxxxxxxxxxxxxx", line 64, in start
with text as f:
AttributeError: __exit__
이 작동하지 않는, 나를 위해 일하는 유일한 해결책은 다음과 같다. 텍스트를 파일로 저장하고 다시 엽니 다. 그러나이 파일은 약 1.24MB 크기로 프로그램을 불필요하게 느리게 만듭니다. 누군가 내가 여분의 저축을 어떻게 없앨 수 있는지 알고 있습니까?
....
stdin, stdout, stderr = ssh.exec_command('sudo cat /var/log/mailing.log')
text = ''.join(stdout.readlines())
text_file = open('mail.log', 'w')
text_file.write(text)
text_file.close()
ssh.close()
with open('mail.log') as f:
for line in f:
try:
.... regex stuff....
이 '텍스트'가 아닌 컨텍스트 매니저 말할 수 있을까? 원본 코드에서'텍스트 '란 무엇입니까? –
'ssh.exec_command()'의 출처는 어디입니까? –
var 'text'는 'mailing.log'파일의 모든 텍스트입니다. 나는 컨텍스트 관리자의 개념을 이해하지 못했다고 생각한다 .... 'ssh.exec_command()'는 내가 사용하는 모듈 paramiko에서 온 것이다. – gulden