"width:"라는 줄에 있는 숫자를 추출해야 하는 텍스트 파일이 있습니다. 예: width: 3432
이제 나는 노력하고 있습니다 :
import re
file = open('abc.txt', 'r')
lines = file.readlines()
WIDTH=lines[10]
numbers = re.findall(r"[-+]?\d*\.\d+|\d+", WIDTH)
print(numbers)
['3432']를 반환합니다. 3432를 얻으려면 Python에서 int 변수로 어떻게 저장할 수 있습니까?
답변1
노력하다 awk
&tr
awk -F"[][]" '{print $2}' file
또는
grep
grep -Po "(?<=\[).[0-9].*?(?=\])" file
또는
존재하다python
#!/bin/python
import re
str = open('file.txt', 'r').read()
m = re.search(r"\[([A-Za-z0-9_]+)\]", str)
print m.group(1)
답변2
수행하려는 작업에 대한 설명을 기반으로 이를 위해 정규식을 사용할 필요가 없습니다. Python을 사용 str.startswith
하여 관심 없는 행을 필터링한 다음 메서드를 사용 str.split
하여 관심 있는 부분을 가져온 다음 해당 값을 int()
생성자에 전달하여 문자열을 정수로 변환할 수 있습니다.
for line in open('abc.txt').readlines():
if line.startswith('width:'):
number = int(line.split()[-1])
print(number)