#从控制台输入一个文件的完整地址
#判断该地址是否有效
#显示该文件是文件夹还是文件
#若是文件显示:1:文件名,2:文件路径,3:文件扩展名。4:文件的创建时间,5.文件的最后一次访问时间,6:,文件的最后一次修改时间。7:文件的大小(根据实际 的文件大小,以KB,MB,GB)保留小数点
以上是我们老师课余出的问题,代码还在学习阶段
import os
file = input("请输入要查询的文件的完整地址")
newfile = os.path.exists(file)
if not newfile:
print("请重新输入有效的文件地址")
else:
path = os.path.isfile(file)
if path == True:
print("这是一个文件")
name = os.path.basename(file)
print("文件名是{}".format(name))
abs = os.path.abspath(file)#2
print("文件路径是{}".format(abs))
dir = file.split(".")[-1]#3
print("文件扩展名是.{}".format(dir))
ctime = os.path.getctime(file)#4
print("文件的创建时间是{}".format(ctime))
atime = os.path.getatime(file)#5
print("文件的最后一次访问时间是{}".format(atime))
mtime = os.path.getmtime(file)#6
print("文件的最后一次修改时间{}".format(mtime))
size = os.path.getsize(file)#7
if size >= 1024 * 1024 * 1024:
size = size / (1024 * 1024 * 1024)
print("文件的大小(根据实际的文件大小,以KB,MB,GB保留小数点)是%.2fGB"%size)
elif size >= 1024 * 1024:
size = size / (1024 * 1024)
print("文件的大小(根据实际的文件大小,以KB,MB,GB保留小数点)是%.2fMB" % size)
elif size >= 1024:
size = size / (1024)
print("文件的大小(根据实际的文件大小,以KB,MB,GB保留小数点)是%.2fKB" % size)
else:
print("文件的大小(根据实际的文件大小,以KB,MB,GB保留小数点)是%d字节" % size)
一段时间后看到源代码中文件所查找的时间是时间戳,所以我又修改了一下,代码如下:
ctime = os.path.getctime(file)#4
ctimes = time.localtime()
print("文件的创建时间是{}年{}月{}日".format(ctimes.tm_year,ctimes.tm_mon,ctimes.tm_mday))
atime = os.path.getatime(file)#5
atimes = time.localtime()
print("文件的最后一次访问时间是{}年{}月{}日".format(atimes.tm_year,atimes.tm_mon,atimes.tm_mday))
mtime = os.path.getmtime(file)#6
mtimes = time.localtime()
print("文件的最后一次修改时间{}年{}月{}日".format(mtimes.tm_year,mtimes.tm_mon,mtimes.tm_mday))
其实在这里将时间戳转化为本地的时间元组有两种方法
方法一
times = time.localtime()
print("{}年{}月{}日{}时{}分{}秒,今天是星期{}".
format(times.tm_year,times.tm_mon,times.tm_mday,times.tm_hour,times.tm_min,times.tm_sec,times.tm_wday))
方法二
print(time.strftime("%Y-%m-%d %H:%M:%S ", time.localtime()))"""
#这里显示年月日,几时几分几秒