将硬编码字符串分配给变量 pytumblr 时有效,但动态传递时不起作用

When assigning hardcoded string to variable pytumblr works, but when dynamically passed it does not work

我正在尝试从图像链接中将 post 保存到 tumblr 队列。

line = "https://68.media.tumblr.com/b965fbb2e501610a29d80ffb6fb3e1ad/tumblr_n55vdeTse11rn1906o1_500.jpg"
client.create_photo(blogName, state="queue", tags=["testing", "ok"],
                    source=line)
print(line)

输出为

https://68.media.tumblr.com/b965fbb2e501610a29d80ffb6fb3e1ad/tumblr_n55vdeTse11rn1906o1_500.jpg

post已成功添加到所需的队列中。

但是,我有一个包含图像 URL 列表的文件,我正在使用 readlines() 读取并循环访问它们。

for line in lines:
    client.create_photo(blogName, state="queue", tags=["testing", "ok"],
                    source=line)
    print(line)
    exit()

输出同上

https://68.media.tumblr.com/b965fbb2e501610a29d80ffb6fb3e1ad/tumblr_n55vdeTse11rn1906o1_500.jpg

但是,post实际上并没有在队列中创建,也没有抛出异常。

我无法找出问题所在。

我在尝试使用本地文件上传时也遇到了同样的问题。

尝试将 line.strip() 而不是 line 传递给该函数。

readlines() 方法 returns 以 "\n" 符号结尾的字符串列表需要被剥离,所以实际上这样从文件中读取行会更好:

lines = [l.strip() for l in file.readlines if l.strip()]

这样您就可以忽略 "\n" 和空行。