Python脚本和类在同一个fi中

2024-10-01 00:16:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Python类,它假设通过将自己提交到集群环境来在后台执行一些任务。e、 g

class AwesomeTaskController(object):
    def run(bunch_of_tasks):
        for task in bunch_of_tasks:
            cmd = "%s %s" % (os.path.abspath(__file__), build_cli_paramters(task))
            # call the API to submit the cmd

if __name__ == "__main__":
    #blah blah do stuff with given parameters

第一次办这个班,一切都很好。当它第一次运行时,会创建一个pyc文件。此pyc文件不可执行(权限方面)。你知道吗

所以当我第二次使用这个类时,命令将直接使用pyc并抱怨权限被拒绝。也许我从错误的角度来看待这个问题?你知道吗


Tags: 文件ofthecmd权限task环境集群
1条回答
网友
1楼 · 发布于 2024-10-01 00:16:20

.pyc文件本身不是可执行文件;您必须始终执行.py文件。pyc文件只是Python动态生成的.py文件的编译版本,以便在下次运行.py文件时为自己节省一些时间。你知道吗

在您的例子中,您需要做的就是检查__file__是否以“.pyc”结尾,并删除后面的“c”。您可以通过将脚本中的__file__替换为:

(__file__[:-1] if __file__.endswith(".pyc") else __file__)

这应该能解决你的问题。你知道吗

相关问题 更多 >