935905306 发表于 2019-8-4 22:14

Python 关于函数局部变量调用的问题

def shangchuan(self):
   file_path=self.label_4.text()
   # 遍历file_path下所有文件,包括子目录
   files = os.listdir(file_path)
   for fi in files:
      fi_d = os.path.join(file_path, fi)
      if os.path.isdir(fi_d):#是否为目录
         print("请选择目录")
      else:
         z = os.path.join(file_path, fi_d)
         h = open(r'C:\Users\Administrator\Desktop\register.txt', "a")# 保存路径
         with open(z, 'rb') as f:
            s = base64.b64encode(f.read())
            bs = str(s, encoding="utf-8") + '\n'
            h.write(bs)# 写入文件
def haha(self):
   bs

935905306 发表于 2019-8-4 22:15

如题 :想请教haha() ,如何调用 shangchuan()函数中的bs变量

呢喃 发表于 2019-8-4 22:26

把 bs 全写成 self.bs, 变成类变量就能调用

Deteriorator 发表于 2019-8-4 22:29

把它return出来呗

ermao 发表于 2019-8-4 22:32

局部变量只能作用在函数内部,函数外部调用可以改用全局变量、类成员变量

lilips 发表于 2019-8-4 22:41

楼上所说的,用类啊~

jidesheng6 发表于 2019-8-4 22:52

你这不是在一个类里面嘛,self就行了,你在不行return bs,然后直接在haha函数里面调用它,不过这样的话就没必要写类了

edcjyy 发表于 2019-8-4 23:02

你把它return出来,或者global它变成全局变量

笑熬浆糊4 发表于 2019-8-4 23:06

这是全民学Python的节奏啊!{:1_927:}

935905306 发表于 2019-8-4 23:20

edcjyy 发表于 2019-8-4 23:02
你把它return出来,或者global它变成全局变量

global试过了不行 return 也不行
页: [1] 2
查看完整版本: Python 关于函数局部变量调用的问题