用Python递归做个多层次的文件执行

想用 递归实现多层次的 '.py’执行但是发现好像不能

	--------------------------------------------------------------------
	注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687
	--------------------------------------------------------------------

import os

def func(path):
    if os.path.isdir(path):
        for name in os.listdir(path):
            base_name = os.path.join(path, name)
            # print(base_name)
            return func(base_name)
    elif os.path.isfile(path) and path.endswith('.py)'):
        # print(path)
        return os.system('python %s' % path)

func(r'D:\GUIstudy\我要执行的文件')
D:\GUIstudy\我要执行的文件\快要找到我的文件了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了\到了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了\到了\radom练习.py

虽然可以找到最深层的文件,但是并没有出现预期的结果。

我觉得是os.system()立马执行了,好像不能 return

def func(path):
    if os.path.isdir(path):
        for name in os.listdir(path):
            base_name = os.path.join(path, name)
            print(base_name)
            return func(base_name)
    elif os.path.isfile(path) and path.endswith('.py)'):
        # print(path)
        #return os.system('python %s' % path)
        return path


 os.system('python %s' % func(r'D:\GUIstudy\我要执行的文件'))

既然没有得到想要的结果,我就想返回文件路径, 在外面执行。但是发现报错了

D:\GUIstudy\我要执行的文件\快要找到我的文件了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了\到了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了\到了\radom练习.py
D:\Python\python.exe: can't open file 'None': [Errno 2] No such file or directory

看了下传出来是什么。

print(func(r'D:\GUIstudy\我要执行的文件'))
D:\GUIstudy\我要执行的文件\快要找到我的文件了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了\到了
D:\GUIstudy\我要执行的文件\快要找到我的文件了\马上就到了\到了\radom练习.py
None
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值