Python 程序生成文件名、扩展名、路径、创建时间和大小的字典,并将它们输出到 json 文件
Python program to produce dictionary of file names, extensions, path, creation times, and sizes, and output them to a json file
import os, json, time
path = "C:\Users\Marius\Desktop\homework" #se defineste adresa
with os.scandir(path) as listOfEntries:
for item in listOfEntries:
data={}
if item.is_file():
filename_ext=os.path.splitext(item)
size=(os.path.getsize(item))
creation=(time.ctime(os.path.getctime(item)))
extension=(os.path.splitext(os.path.basename(item))[1])
if filename_ext not in data:
data[item.path] = {'name': item.name, 'path': path, 'extension': extension, 'creation': creation, 'size': size}
print(data)
j_data = json.dumps(data, indent=4)
with open('files.json', 'w') as f:
json.dump(data, f, indent=4)
我想不通。任何帮助将不胜感激。
我试图创建一个 python 文件来生成所需的结果,但我需要它们作为输出 JSON 文件。
我希望结果作为 files.JSON 的输出,类似于以下结果,但包含该特定文件夹中的所有文件:
{
"C:\Users\Marius\Desktop\homework\test.py": {
"name": "test.py",
"path": "C:\Users\Marius\Desktop\homework",
"extension": ".py",
"creation": "Sat Dec 26 08:39:59 2020",
"size": 733
}
}
解决方法:
import os, json, time
path = "C:\Users\Marius\Desktop\homework"
data={}
with os.scandir(path) as listOfEntries:
for item in listOfEntries:
filename_ext=os.path.splitext(item)
size=(os.path.getsize(item))
creation=(time.ctime(os.path.getctime(item)))
extension=(os.path.splitext(os.path.basename(item))[1])
if item.is_file():
if filename_ext not in data:
data[item.path] = {'name': item.name, 'path': path, 'extension': extension, 'creation': creation, 'size': size}
print(data)
j_data = json.dumps(data, indent=4)
with open('files.json', 'w') as f:
json.dump(data, f, indent=4)
import os, json, time
path = "C:\Users\Marius\Desktop\homework" #se defineste adresa
with os.scandir(path) as listOfEntries:
for item in listOfEntries:
data={}
if item.is_file():
filename_ext=os.path.splitext(item)
size=(os.path.getsize(item))
creation=(time.ctime(os.path.getctime(item)))
extension=(os.path.splitext(os.path.basename(item))[1])
if filename_ext not in data:
data[item.path] = {'name': item.name, 'path': path, 'extension': extension, 'creation': creation, 'size': size}
print(data)
j_data = json.dumps(data, indent=4)
with open('files.json', 'w') as f:
json.dump(data, f, indent=4)
我想不通。任何帮助将不胜感激。
我试图创建一个 python 文件来生成所需的结果,但我需要它们作为输出 JSON 文件。
我希望结果作为 files.JSON 的输出,类似于以下结果,但包含该特定文件夹中的所有文件:
{
"C:\Users\Marius\Desktop\homework\test.py": {
"name": "test.py",
"path": "C:\Users\Marius\Desktop\homework",
"extension": ".py",
"creation": "Sat Dec 26 08:39:59 2020",
"size": 733
}
}
解决方法:
import os, json, time
path = "C:\Users\Marius\Desktop\homework"
data={}
with os.scandir(path) as listOfEntries:
for item in listOfEntries:
filename_ext=os.path.splitext(item)
size=(os.path.getsize(item))
creation=(time.ctime(os.path.getctime(item)))
extension=(os.path.splitext(os.path.basename(item))[1])
if item.is_file():
if filename_ext not in data:
data[item.path] = {'name': item.name, 'path': path, 'extension': extension, 'creation': creation, 'size': size}
print(data)
j_data = json.dumps(data, indent=4)
with open('files.json', 'w') as f:
json.dump(data, f, indent=4)