lanmor_699 2022-09-30 13:37 采纳率: 78.9%
浏览 35
已结题

python只调用函数运行的结果,而不重复调用函数

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
import pandas as pd
import os
import pyautogui
import time
#查找未下载的文件名
def find_undownloadcode():
    # 1.利用OS库遍历文件夹所有的文件名
    downloaded_filenames = os.listdir("F:\\gupiaoziliao\\managerstock\\")
    # 2.读取excel所有的股票代码
    pd1 = pd.DataFrame(pd.read_excel("F:\\gupiaoziliao\\沪深A股.xlsx"))
    all_stockcodes = list(pd1['证券代码'])
    # 3.删除已下载的文件名
    i = 0
    while i < len(all_stockcodes):
        if all_stockcodes[i] in downloaded_filenames:
            del all_stockcodes[i]
            i -= 1
        i += 1
    return all_stockcodes
undownload_codes = find_undownloadcode()
我能想到的解答思路

我能想到的是先将函数运行结果存入到excel,用的时候直接从excel中调用,但是感觉有点麻烦,不知道有没有其他的方法,不用把数据导出,就能达到这种效果的

我想要达到的结果

利用上述代码,得出未下载的代码,后面一直调用undownload_codes列表里面的数据即可,而不用重复运行find_undownloadcode函数

  • 写回答

4条回答 默认 最新

  • 於黾 2022-09-30 13:54
    关注

    运行结果不是在all_stockcodes里吗,不是return回来了吗,你放内存里放着就行,为什么要存excel?
    你就搞个全局变量来接函数的返回值,里面存的不就是all_stockcodes了吗
    一定是全局变量,不要局部变量,否则函数执行完变量释放了你又找不到这个值了
    总之变量不释放这个值就一直在,不用存来存去的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 已采纳回答 9月30日
  • 修改了问题 9月30日
  • 创建了问题 9月30日

悬赏问题

  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”