You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:文件类型选择功能无法正常运行

帮你排查文件选择功能的问题

嘿,刚接触Python很正常,谁都踩过这些小坑!我帮你梳理下代码里的几个关键问题:

问题1:输入类型不匹配

input()函数返回的是字符串类型,但你现在直接把它和整数1、2做比较,这永远不会匹配成功。比如用户输入1,程序拿到的是字符串"1",和整数1是完全不同的类型,条件判断永远不会触发。

问题2:函数逻辑错误

你写的py()函数里,用的是glob('*.txt*')——这会查找所有txt相关的文件,根本不是你想要的py文件!应该改成glob('*.py')才对。

问题3:输入提示的语法错误

在file_choice()的输入提示里,{2]是括号写错了,应该是[2],不然看起来很别扭,也容易误导用户。


下面是修正后的完整代码:

import glob  # 别忘了导入glob模块!

def py():
    files_py = glob.glob('*.py')  # 修正通配符,找py文件
    for i in files_py:
        print(i)

def txt():
    files_txt = glob.glob('*.txt')  # 去掉多余的*,精准匹配.txt文件
    for i in files_txt:
        print(i)

def file_choice():
    choices = input("Press:\n\n[1] - .py files\n\n[2] - .txt files\n\n")
    # 用字符串比较更稳妥,避免用户输入非数字导致报错
    if choices == "1":
        py()
    elif choices == "2":
        txt()
    else:
        print("Invalid choice, please enter 1 or 2!")  # 新增错误提示,提升用户体验

# 调用测试
file_choice()

额外小提示:如果需要递归查找子文件夹里的目标文件,可以用glob.glob('**/*.py', recursive=True),记得加上recursive=True参数哦。

内容的提问来源于stack exchange,提问作者i.darker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:45:45