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
相关产品推荐
相关产品推荐

