smarth 发表于 2021-4-4 15:58

python在函数中调用文件对象

本帖最后由 smarth 于 2021-4-4 19:44 编辑

背景:

在一个名为function.py文件中定义了两个函数funA, funB。
funA中创建了一个文件对象fp = open(“example.out", "w+") ,并调用funB
将funA中对fp的一些重复操作定义为funB
在main.py中调用funA



问题:

若在funB中不再次创建fp,提示不存在fp
若在funB(“a")和funA("w+”)使用with open 方法,目的输出文件example.out为空




期望回复:


在funB中调用fp的正确姿势
更优的做法




简单的传参即可解决,




小阮绵绵 发表于 2021-4-4 16:07

没把fp传给funB?

fanvalen 发表于 2021-4-4 16:47

说一下我的理解,模块和模块之间的变量不是全局的
如果要用在fp前加个global

有误请理解我也是小白

Ercilan 发表于 2021-4-4 17:09

同一楼的疑问

我爱你H大 发表于 2021-4-4 17:19

文件对象只能作为参数传入fcB,而不是什么fcB调用什么的,你的逻辑比较混乱,最好问问自己为什么封装函数b
页: [1]
查看完整版本: python在函数中调用文件对象