我在编写脚本扫描文件大小并将这些数据存储在列表中时遇到麻烦。
这是我当前的程序:
import os
def getTotalFileSize(mypath):
mydir = os.getcwd() + mypath
list_file = os.listdir(mydir)
for path in list_file:
realpath = mydir + '/' + path
stateinfo = os.stat(realpath)
stateinfo = stateinfo.st_size
print(stateinfo)
mydir = '/testdir'
getTotalFileSize(mydir)
指令给您:选择存在几个文件的文件夹/目录,然后运行此脚本,此脚本只有目录的场景文件大小。
问题:在我运行脚本时,它会像这样打印我:
456
345
23
4466
4446
,但我不需要这个。我需要在列表中,例如
[456, 345, 23, 4466, 4446]
任何人都可以解决此问题
创建一个 list
并将其从 stateinfo
附加到它,也许是:
import os
def getTotalFileSize(mypath):
stateInfo_lst = [] # an empty list to store the values
mydir = os.getcwd() + mypath
list_file = os.listdir(mydir)
for path in list_file:
realpath = mydir + '/' + path
stateinfo = os.stat(realpath)
stateinfo = stateinfo.st_size
stateInfo_lst.append(stateinfo) # appending the values to the list
print(stateInfo_lst) # printing the list after the loop
mydir = '/testdir'
getTotalFileSize(mydir)
输出:
[456, 345, 23, 4466, 4446]
导入OS
def getTotalFilesize(mypath):
size_list = []
mydir = os.getcwd() + mypath
list_file = os.listdir(mydir)
for path in list_file:
realpath = mydir + '/' + path
stateinfo = os.stat(realpath)
stateinfo = stateinfo.st_size
size_list.append(stateinfo)
print(size_list)
mydir ='/testdir'
getTotalFilesize(mydir)
import os
def getTotalFileSize(mypath):
mydir = os.getcwd() + mypath
list_file = os.listdir(mydir)
stateList=[]
for path in list_file:
realpath = mydir + '/' + path
stateinfo = os.stat(realpath)
stateinfo = stateinfo.st_size
stateList.append(stateinfo)
mydir = '/testdir'
getTotalFileSize(mydir)
您可以创建诸如statelist之类的新列表,并将您的stateInfo值附加到列表中。