找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3362|回复: 6

函数练习

1

主题

2

帖子

2

积分

贫民

积分
2
vinsonpyg 发表于 2018-7-13 07:02:42 | 显示全部楼层 |阅读模式
本帖最后由 vinsonpyg 于 2018-7-13 07:05 编辑

复制代码
def chkfilepro(path):
        f= open(path,'r')
        for i in f.readlines():
            return i
        f.close()
if __name__ == "__main__":
    list1 = str(sys.argv[1].strip())
    if len(sys.argv) != 2:
        print "please use right list file"
    if not os.path.exists(list1):
        print "the files is not exists, please enter righat path"
    else:

        fil= open(list1.strip(),'r')
        for path in fil:
            o=chkfilepro(path.strip())
            print o,
        fil.close()

我在练习函数,当我使用hs.py d:\temp\list.txt ,其中list.txt中有三个文本文件,这个程序功能在于打印那例表中的文件,帮忙看下.但以上代码只打印了列表中每个文件的一行。

点评

函数遇到return就回停止,不知道可以用yield生成器实现不,菜鸟一只路过  发表于 2018-7-14 16:33
回复

使用道具 举报

0

主题

5

帖子

5

积分

贫民

积分
5
JeffPython 发表于 2018-10-6 11:40:01 | 显示全部楼层
试试把print放在函数中,main中的print去掉。
回复 支持 2 反对 0

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
小白白 发表于 2018-7-13 11:39:37 | 显示全部楼层
你在chkfilepro函数的for循环里return i就把函数返回了,所以for只循环了一次函数就终止了
回复 支持 反对

使用道具 举报

17

主题

85

帖子

85

积分

新手

积分
85
我是吃货 发表于 2018-7-15 14:51:08 | 显示全部楼层
似乎没看懂,但被我抄下来咯,嘿嘿……
回复 支持 反对

使用道具 举报

17

主题

85

帖子

85

积分

新手

积分
85
我是吃货 发表于 2018-7-15 14:56:10 | 显示全部楼层
你print语句的括号没加……
回复 支持 反对

使用道具 举报

17

主题

85

帖子

85

积分

新手

积分
85
我是吃货 发表于 2018-7-17 14:04:28 | 显示全部楼层
什么原因啊
不能输?
忘了输?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表