python - 如何一次迭代或循环?
问题描述
我想知道是否有人可以告诉我我缺少什么,因为我想运行一个程序来检查目录中的文件列表,然后在删除之前打印以下内容:
- 创建、修改时间
- 名称和扩展名
- 尺寸
但是,我无法循环大小和创建、修改时间,而是会列出文件,但会显示目录的大小和创建、修改时间。
import os.path, time, fnmatch
# get file info including time
def get_File_Info():
print("Last modified: %s" % time.ctime(os.path.getmtime('my file path')))
print("Created: %s" % time.ctime(os.path.getctime('my file path')))
#get file size
def get_File_Size():
file_size = os.stat('my file path')
print("Size of file :", file_size.st_size, "bytes")
# Get file name and Extension
for file_name in os.listdir('my file path'):
if fnmatch.fnmatch(file_name, '*.*'):
print(file_name)
print(get_File_Info())
print(get_File_Size())
解决方案
这些函数需要将文件路径名作为参数。
import os, time, glob
# get file info including time
def get_File_Info(filename):
print("Last modified: %s" % time.ctime(os.path.getmtime(filename)))
print("Created: %s" % time.ctime(os.path.getctime(filename)))
#get file size
def get_File_Size(filename):
file_size = os.stat(filename)
print("Size of file :", file_size.st_size, "bytes")
# Get file name and Extension
for file_name in glob.glob('my file path/*.*'):
print(os.path.basename(file_name))
get_File_Info(file_name)
get_File_Size(file_name)
您还可以使用glob.glob()
来获取与模式匹配的文件名列表,而不是os.listdir()
与fnmatch.fnmatch()
.
您也不应该打印函数的结果get_XXX
,因为这些函数自己打印并且不返回任何内容。
推荐阅读
- python - discord.py on_member_update 删除成员拥有的所有角色
- automation - 提供附件-自助服务中心-Maximo
- php - 尝试使用 mysqli 连接到 MySQL DB 时出错
- java - Java 下载的文件缺少 183 个字节
- android - 发送图片流字节数据flutter到原生Android
- datatables - 数据表:动态创建页脚
- python - 机器学习:我是否应该在带有 bagging 和决策树的交叉验证中使用“scoring='precision_weighted'”和不平衡数据集?
- reactjs - 如何使用 gatsby-image 查询全尺寸图像?
- google-chrome - Google Chrome 浏览器中的奇怪弹出窗口
- blockchain - 无法访问反应组件中的 web3 和合同道具