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

Как вы добавляете любую переменную экземпляра, self.func = func:

class Objective():
    def __init__(self, function):
        if isinstance(function, str):
            def func(x): # no need for self
               return eval(function, locals())
            self.func = func # here

        elif callable(function):
            self.func = function

    def __call__(self, x):
        return self.func(x)

Обратите внимание, вам не нужно self в вашем определении func. Также обратите внимание, что вы нигде не использовали анонимную функцию. Вы использовали нормальное определение функции.

Наконец, (хотя вы, вероятно, не должны этого делать), вам нужно получить x в пространствах имен, доступных для eval, так что-то вроде:

return eval(function, locals())
12
задан dmckee 20 April 2009 в 21:43
поделиться

3 ответа

sort -u file> new_file

22
ответ дан 2 December 2019 в 03:25
поделиться

Ваш вопрос несколько неясен. Если вы хотите удалить все повторяющиеся строки из текстового файла, вы можете сделать что-то вроде этого:

cat file.txt | sort | uniq
17
ответ дан 2 December 2019 в 03:25
поделиться

Так как исходный вопрос ссылался на Cygwin , который является специфическим для Windows, я упомяну, что ответ Луиса работает так же хорошо, используя Утилиты GNU для Win32 sort . Я использую порты GNU от USB-ключа, когда я работаю на компьютере, на котором я не хочу устанавливать Cygwin, или загрузка и установка Cygwin кажутся слишком тяжелым решением проблемы, которую я пытаюсь решить.

5
ответ дан 2 December 2019 в 03:25
поделиться
Другие вопросы по тегам:

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