python - 第 9 章用 python 自动化那些无聊的东西
问题描述
一直在使用这个隔离区来学习 Python,在我自己尝试这个并在网上查找信息之后,我不知道我的代码有什么问题,因为即使我在编译后没有错误,它也没有返回任何内容,只是空白结果。程序确实会在指定文件夹中查找超过 100Mb 的文件并返回这些文件的名称。
import os
folder = os.path.abspath(input('Please enter folder to search for files larger than 100MB:\n'))
def get_MB(value):
MB = 1 * (10**6)
my_MB = value * MB
return my_MB
size_input = input('Enter your desired minimun MB: ')
my_min = get_MB(size_input)
for foldername, subfolders, filenames in os.walk(folder):
for filename in filenames:
file_path = os.path.join(os.path.abspath(foldername), filename)
size = os.path.getsize(file_path)
if size >= my_min:
print(filename)
解决方案
计算时将 size_input 转换为 int/float:
def get_MB(value):
MB = 1 * (10**6)
my_MB = int(value) * MB
return my_MB
因为您的 get_mb 函数将值 10**6 次作为非常长的字符串返回,而不是 int 类型的值。所以typeError: '>=' not supported between instances of 'int' and 'str'
推荐阅读
- linux - 命令“echo”在 awk 中无效
- sql-server - 创建数据库时出错,它显示没有任何文件夹
- video - 我可以用ffmpeg在透明图像上放置一个蒙版吗?
- java - 如何使用 nio 类获取 Mounted Volume 信息
- apache - 带有额外根目录名称的 httpd 反向代理重定向
- javascript - 在类组件中动态设置 render()
- c# - 如何实现仅增长的 ScrollViewer
- javascript - 选择一个文本并复制到另一个网站的 xpath 元素
- linux - 如何解决我的脚本问题发出 SED 命令
- html - SVG 的 tabIndex 在 IE 和 React 中不起作用