100 줄의 로그 데이터에서 특정 문자열을 추출해야합니다. I split을 시도한 다음 필요한 문자열을 가져 오려고했지만 을 성공시킬 수 없습니다. 모든 제안/도움이 감사드립니다. 감사! 아래 로그에서 Python : 100 줄의 텍스트에서 하나의 문자열을 추출하십시오.
, 내가 이 zqn.2005- 04.com.sanblaze이라고 강조 표시된 부분을 추출하고 싶습니다 : virtualun.init74-2.initiator-00000000-0000을 (그 라인 57 문자열이 사전 형식 (내가 틀렸다면 정정 해줘)에서처럼 하나로 변환을 시도 할 수 있도록)1 Out[19]: 2 {'portstatus': {'errors': {'busy_errors': '0', 3 'checkcondition_errors': '0', 4 'compare_errors': '0', 5 'ioc_errors': '0', 6 'notready_errors': '0', 7 'read_errors': '0', 8 'read_retries': '0', 9 'scsi_errors': '0', 10 'test_errors': '0', 11 'timeout_errors': '0', 12 'write_errors': '0', 13 'write_retries': '0'}, 14 'net_counters': {'RxBytes': '148476788547060', 15 'RxCompressed': '0', 16 'RxDrop': '96188', 17 'RxErrs': '0', 18 'RxFIFO': '0', 19 'RxFrame': '0', 20 'RxMulticast': '259513', 21 'RxPFCPause': '0', 22 'RxPackets': '77165581759', 23 'RxStandardPause': '0', 24 'TxBytes': '20440169002909', 25 'TxCompressed': '0', 26 'TxDrop': '0', 27 'TxErrs': '0', 28 'TxFIFO': '0', 29 'TxFrame': '0', 30 'TxMulticast': '0', 31 'TxPFCPause': '0', 32 'TxPackets': '55075507366', 33 'TxStandardPause': '5349727', 34 'net_avgriops': '0', 35 'net_avgrrate': '0.00', 36 'net_avgtiops': '0', 37 'net_avgtrate': '0.00', 38 'net_riops': '0', 39 'net_rrate': '0.00', 40 'net_tiops': '0', 41 'net_trate': '0.00'}, 42 'perfdata': {'avg_oiocnt': '0', 43 'avgiops': '0', 44 'avgriops': '0', 45 'avgrrate': '0.00', 46 'avgtrate': '0.00', 47 'avgwiops': '0', 48 'avgwrate': '0.00', 49 'iops': '0', 50 'max_oiocnt': '509', 51 'oiocnt': '0', 52 'riops': '0', 53 'rrate': '0.00', 54 'trate': '0.00', 55 'wiops': '0', 56 'wrate': '0.00'}, 57 'status': {'initiator0_iqn': 'zqn.2005- 04.com.sanblaze:virtualun.init74-2.initiator-00000000-0000', 58 'initiator10_iqn': 'zqn.2005-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0010', 59 'initiator11_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0011', 60 'initiator12_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0012', 61 'initiator13_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0013', 62 'initiator14_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0014', 63 'initiator15_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0015', 64 'initiator16_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0016', 65 'initiator17_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0017', 66 'initiator18_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0018', 67 'initiator19_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0019', 68 'initiator1_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0001', 69 'initiator20_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0020', 70 'initiator21_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0021', 71 'initiator22_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0022', 72 'initiator23_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0023', 73 'initiator24_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0024', 74 'initiator25_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0025', 75 'initiator26_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0026', 76 'initiator27_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0027', 77 'initiator28_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0028', 78 'initiator29_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0029', 79 'initiator2_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0002', 80 'initiator30_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0030', 81 'initiator31_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0031', 82 'initiator32_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0032', 83 'initiator33_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0033', 84 'initiator34_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0034', 85 'initiator35_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0035', 86 'initiator36_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0036', 87 'initiator37_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0037', 88 'initiator38_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0038', 89 'initiator39_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0039', 90 'initiator3_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0003', 91 'initiator40_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0040', 92 'initiator41_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0041', 93 'initiator42_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0042', 94 'initiator43_iqn': 'iqn.2003-04.com.sanblaze:virtualun.init74-2.initiator-00000000-0043', 95 'mode': 'Init', 96 'numinitiators': '50', 97 'numtargets': '0', 98 'port': '0', 99 'portwwnn': '90:e2:ba:82:92:1c', 100 'portwwpn': '90:e2:ba:82:92:1c', 101 'speed': '10G', 102 'state': 'Online', 103 'topo': 'iSCSI'}, 104 'sympn': '-',
답변
는 같습니다. 그렇다면 정규식이 필요하지 않습니다. 사전은 다음 LOOKUP ''라고하면
your_dict['status']['initiator0_iqn']
고맙지 만 libs를 가져 오지 않는 방법이 있습니까? – Rohit
'ast'는 시스템에 파이썬이 있어야합니다. 그러나 당신이 그것을 사용하고 싶지 않다면, 당신은'json.loads'를 사용하여 문자열을 json으로 변환 할 수 있습니다. 그러나 다른 라이브러리 인'import json'을 사용해야합니다 (포함되어 있지만). – user3543300
궁극적으로 문자열을 사전으로 변환하는 것이 가장 빠르고 가장 논리적 인 방법입니다. 임의의 지점에서 사전을 객체로 사용하면 라이브러리를 가져올 필요가 없습니다. – user3543300
- 1. 텍스트에서 주요 문장을 추출하십시오
- 2. 텍스트에서 필수 키워드를 추출하십시오.
- 3. 텍스트에서 영어 단어를 추출하십시오.
- 4. 텍스트에서 특정 단어를 추출하십시오.
- 5. 텍스트에서 숫자 만 추출하십시오.
- 6. 정규식을 사용하여 텍스트에서 패턴을 추출하십시오.
- 7. 영어 텍스트에서 제품 이름을 추출하십시오.
- 8. 무료 텍스트에서 식료품 목록을 추출하십시오.
- 9. Ruby에서 하나의 긴 문자열에서 문자열을 추출하십시오.
- 10. 정규 표현식을 사용하여 자바 텍스트에서 단어를 추출하십시오.
- 11. SAS를 사용하여 텍스트에서 날짜 및 시간을 추출하십시오.
- 12. 텍스트에서 문자열을 제거하려면 어떻게해야합니까?
- 13. 텍스트에서 문자열을 찾는 방법
- 14. 괄호 안의 문자열을 추출하십시오.
- 15. 정규식이있는 문자열을 추출하십시오.
- 16. 고유 한 문자열을 추출하십시오.
- 17. 파일에서 텍스트 문자열을 추출하십시오.
- 18. 데이터베이스의 테이블에서 문자열을 추출하십시오.
- 19. 하나의 세미 임의 문자열에서 여러 부분 문자열을 추출하십시오.
- 20. 하위 문자열을 찾고 앞의 하위 문자열을 추출하십시오.
- 21. 줄의 문자열을 끊는 방법
- 22. 여러 줄의 문자열을 선택하십시오.
- 23. 돼지의 100 줄에서 10 ~ 20 줄을 추출하십시오
- 24. python - 2 줄의 문자열 자르기
- 25. 루아 - 패턴을 사용하여 문자열을 추출하십시오.
- 26. Outlook365 항목에서 엔티티 문자열을 추출하십시오.
- 27. 셸 : 소스 코드에서 문자열을 추출하십시오.
- 28. 배치 파일의 파일에서 문자열을 추출하십시오.
- 29. 특정 숫자로 시작하는 문자열을 추출하십시오.
- 30. Expect : 출력에서 특정 문자열을 추출하십시오.
:'조회 [ '상태'] [ 'initiator0_iqn는'] ' –
또한, 언어가 사용 않는 그런 당신이 될 것입니다 원하는
문제? 솔루션은 파이썬이어야합니까, 아니면 파이썬의 출력입니까? 그리고 어떤 언어가 출력을 얻으려고할까요? – Addison
@Addison 그 문자열을 가져 와서 다른 변수에 복사하고 싶습니다. 그것은 파이썬에 있어야합니다. – Rohit