Это должно быть достаточно близко к тому, что вы пытаетесь достичь на основе существующего кода:
import string
def main():
# `check` needs to be inside your function to be accessible.
# → You can read about "variable scope" if in doubt.
# You also need to read your file inside your function
# if you don't pass any argument to it.
# Note that it is generally better to use a 'with' block
# to automatically close your file when you are done with it.
check = []
with open('blank.txt') as a:
content = a.read().lower().split()
for word in content:
if word not in check:
check.append(word)
check = [''.join(c for c in s if c not in string.punctuation)
for s in check]
check = [s for s in check if s]
print(check)
if __name__ == '__main__':
main() # This has to be indented
Если blank.txt
содержит следующий текст:
I 'Я работаю над проектом, в котором я пытаюсь найти все уникальные слова в текстовом файле, однако я, похоже, застрял на этой ошибке, которая произошла после того, как я закодировал строку, которая удаляет все знаки препинания из списка.
Ваш вывод будет:
['im', 'working', 'on', 'a', 'project', 'where', 'trying', 'to', 'find', 'all', 'the', 'unique', 'words', 'in', 'txt', 'file', 'however', 'i', 'seem', 'be', 'stuck', 'this', 'error', 'that', 'occurred', 'after', 'coded', 'line', 'removes', 'punctuation', 'from', 'list']
Если ваш файл пуст, вы просто получите пустой список.