У меня есть скрипт Python, который будет принимать каждый файл в каталоге, перебирать содержимое файла и создавать выходной файл для каждого входного файла.Этот выходной файл может содержать повторяющиеся записи, и если это так, я хотел бы принять только уникальные значения, подобные команде UNIX
uniq -u input.file > output.file
Хотя я мог бы использовать для этого сценарии оболочки, я хотел бы включить строкуPython, который будет принимать только уникальные значения.Я знаю, что могу сделать это:
import os
os.system("uniq -u input.file > output.file")
Однако, когда я пытаюсь поместить это в цикл, чтобы он сделал уникальными все файлы, которые я только что сделал:
for curfile in fs:
if curfile[-3:]=='out':
os.system("uniq -u %s > %s") % (str(curfile), str(curfile[:-4] + ".uniq")
Iполучить следующую ошибку:
unsupported operand type(s) for %: 'int' and 'tuple'
Я попробовал несколько синтаксисов, чтобы попытаться распознать переменные, но не могу найти достаточно похожий пример в Интернете.Любые предложения будут с благодарностью.