Python может удалить двойные кавычки из строки при чтении в текстовом файле?

Как предложено можно использовать JAD, чтобы декомпилировать его и просмотреть файлы. Чтобы облегчить читать, можно использовать плагин JADclipse для затмения для интеграции JAD непосредственно, чтобы затмить или использовать Декомпилятор Java ди-джея, который намного легче использовать, чем командная строка JAD

23
задан smci 3 December 2016 в 18:40
поделиться

5 ответов

Есть модуль, который вы можете использовать из стандартной библиотеки под названием shlex :

>>> import shlex
>>> print shlex.split('5.6  4.5  6.8  "6.5"')
['5.6', '4.5', '6.8', '6.5']
14
ответ дан 29 November 2019 в 00:49
поделиться
for line in open(name, "r"):
    line = line.replace('"', '').strip()
    a, b, c, d = map(float, line.split())

Это своего рода скелет, вызывающий исключения, если (например) в строке нет четырех значений и т. Д.

31
ответ дан 29 November 2019 в 00:49
поделиться
for line in open(fname):
    line = line.split()
    line[-1] = line[-1].strip('"\n')
    floats = [float(i) for i in line]

другой вариант - использовать встроенный модуль, то есть предназначенный для этой задачи. а именно csv :

>>> import csv
>>> for line in csv.reader(open(fname), delimiter=' '):
    print([float(i) for i in line])

[5.6, 4.5, 6.8, 6.5]
[5.6, 4.5, 6.8, 6.5]
9
ответ дан 29 November 2019 в 00:49
поделиться

Или вы можете просто заменить свою строку

l = re.split("\s+",string.strip(line)).replace('\"','')

на это:

l = re.split('[\s"]+',string.strip(line))
7
ответ дан 29 November 2019 в 00:49
поделиться

Вы можете использовать регулярное выражение, попробуйте что-нибудь вроде этого

import re
re.findall("[0-9.]+", file(name).read())

Это даст вам список всех чисел в вашем файле в виде строк без каких-либо цитаты.

0
ответ дан 29 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: