【问题标题】:Python telethon get message media file namePython telethon 获取消息媒体文件名
【发布时间】:2021-05-16 01:51:27
【问题描述】:

我有以下代码从群组中获取消息:

getmessage = client.get_messages(dialog, limit=1000)
for message in getmessage:
    try:
        if message.media == None:
            print("message")
            continue
        else:
            print("Media**********")
            client.download_media(message)

上面的代码写了媒体。

在我写文件之前我需要知道文件名/文件类型,我怎样才能得到它?

【问题讨论】:

  • 你写文件之前是什么意思?你的意思是在下载文件之前?
  • @painor 是的,我只想选择我的文件名

标签: python telegram telethon


【解决方案1】:

您可以使用您选择的文件名来确保使用该文件名:

filename = 'some-file'
filename = client.download_media(message, filename)

那么filename 将是some-file 并带有正确的扩展名。

否则 Telethon 会为该文件生成一个文件名(它会尝试原名,如果存在则追加(n) 以避免覆盖现有文件),所以你无法真正知道它会保存在哪里事先(但该方法确实返回最终文件名)。

【讨论】:

  • 也可以选择目录吗?我的意思是filename= 'c:\\some-dir\\some-file' 应该可以吗?
  • 顺便说一句,是否可以在我编写文件之前获取文件?我想过滤一些文件类型
  • 是的,您可以使用目录。是的,您可以在下载前检查文件类型。
  • 怎么样?因为我看到一些没有mime_type的消息,所以我在写之前如何获取文件名?
猜你喜欢
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 1970-01-01
  • 2021-08-25
  • 1970-01-01
  • 2022-07-17
  • 2022-11-24
  • 2018-06-28
相关资源
最近更新 更多