Python 需要将函数输出转换为字符串以用作参数

Python 需要将函数输出转换为字符串以用作参数,python,string,function,Python,String,Function,创建Hazel规则,该规则在插入.mp4文件时触发脚本 以下是脚本: import os from os import path from vimeo import VimeoClient a = "/Path/to/MyVimeoDirectory" def myfile(): for file in os.listdir("/Path/to/MyVimeoDirectory"): if file.endswith(".mp4"): ret

创建Hazel规则,该规则在插入.mp4文件时触发脚本

以下是脚本:

import os
from os import path

from vimeo import VimeoClient

a = "/Path/to/MyVimeoDirectory"

def myfile():
    for file in os.listdir("/Path/to/MyVimeoDirectory"):
        if file.endswith(".mp4"):
            return os.path.join(a, file)

vimeo = VimeoClient("blahblahvimeotoken")

vimeo.upload(myfile)

因此,基本上vimeo.upload()需要一个字符串参数。我做了大量的研究,看到了一些例子,但我不能让它们在这里为我工作。如何获取myfile()的结果路径,在输出周围加引号,以便将其用作字符串?想法

> P>在你的最后一行中,考虑你正在将<代码> MyFiels>代码>作为一个参数,而不是<代码> MyFiele()/<代码>——和区别是什么?


一些建议:不要使用
file
作为循环变量名,因为它会重影Python
file
内置,至少会让快速读取变得混乱;你确定循环符合你的要求吗?它似乎只返回文件列表中第一个出现的.mp4文件,即
os.listdir
排序
myfile
不会返回所有的.mp4文件。

为什么您认为它不会返回字符串?您是否收到任何错误输出?如果是,请包括这些细节。我不敢相信。。。我觉得自己像个白痴。这是myfile vs myfile()。。。。做了改变,完成了。工作得很好。谢谢你的帮助。