Я хочу вернуть имя файла на Python. Как я могу правильно это сделать?

#python #discord.py #programming-languages

#python #discord.py #программирование-языки

Вопрос:

Итак, я хочу сгенерировать текстовый документ на Python, но, похоже, у меня проблема, когда я хочу, чтобы он вернул имя файла, я получаю эту ошибку:

 File "D:My ApplicationsghBot (Python)text_file_generator.py", line 5, in writeToAndUploadFile
    return textfile.name()
TypeError: 'str' object is not callable
  

text_file_generator.py

    def writeToAndUploadFile(filename, filecontents):
        textfile = open("text_documents/"   filename   ".txt", "w")
        textfile.write(filecontents)
        textfile.close()
        return textfile.name()
  

main.py

   @client.command(aliases = ["newtextdoc"])
        async def new_text_doc(ctx, filename, *, filecontents):
        await ctx.send("Text document successfully generated.")
        await ctx.send(file=discord.File(text_file_generator.writeToandUploadFile(filename, filecontents)))
  

Если это очевидно, извините. Я немного новичок в создании приложений на Python.

Комментарии:

1. textfile.name является атрибутом. Вам не нужно его вызывать.

Ответ №1:

Не вызывайте общий атрибут, это не функция. Попробуйте return textfile.name

Ответ №2:

Если вам нужно только имя файла без расширения, тогда в writeToAndUploadFile()

    return filename
  

amp; если с расширением, то

    return filename '.txt'
  

Это должно быть обработано

Нет атрибута функции с атрибутами .name()

Ответ №3:

Попробуйте это

 Testfile_name = filename   ".txt"
return Testfile_name