在python里如何打印一个三级菜单?
我有一个dict 我想把它所有内容print出来忽略indent问题(这个我已经完成){
"name": "dir000",
"timestamp": "2020-02-22 14:25:44",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 14:35:21",
"type": "file",
"size": 13390
},
{
"name": "dir000",
"timestamp": "2020-02-22 14:35:39",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 14:39:11",
"type": "file",
"size": 8139
},
{
"name": "file001",
"timestamp": "2020-02-22 14:49:09",
"type": "file",
"size": 5849
}
]
},
}
print成(我不知道如何上传照片):
dir000 2020-02-22 14:25:44
file000 2020-02-22 14:35:21 13390
dir000 2020-02-22 14:35:39
file000 2020-02-22 14:39:11 8139
file001 2020-02-22 14:49:09 5849
file001 2020-02-22 14:43:29 6313
file002 2020-02-22 15:00:01 13315
dir000 2020-02-22 15:14:52
以此类推。。 你这个字典的可读性有点糟糕 非法的字典,重发 永恒的蓝色梦想 发表于 2020-3-31 13:18
非法的字典,重发
原字典有点长 我试试能不能发 {
"name": "dir000",
"timestamp": "2020-02-22 14:25:44",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 14:35:21",
"type": "file",
"size": 13390
},
{
"name": "dir000",
"timestamp": "2020-02-22 14:35:39",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 14:39:11",
"type": "file",
"size": 8139
},
{
"name": "file001",
"timestamp": "2020-02-22 14:49:09",
"type": "file",
"size": 5849
}
]
},
{
"name": "file001",
"timestamp": "2020-02-22 14:43:29",
"type": "file",
"size": 6313
},
{
"name": "file002",
"timestamp": "2020-02-22 15:00:01",
"type": "file",
"size": 13315
},
{
"name": "dir001",
"timestamp": "2020-02-22 15:14:52",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 15:23:20",
"type": "file",
"size": 10404
},
{
"name": "file001",
"timestamp": "2020-02-22 15:34:39",
"type": "file",
"size": 9293
},
{
"name": "file002",
"timestamp": "2020-02-22 15:49:13",
"type": "file",
"size": 19999
},
{
"name": "dir000",
"timestamp": "2020-02-22 15:55:54",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 15:57:39",
"type": "file",
"size": 10852
},
{
"name": "file001",
"timestamp": "2020-02-22 15:58:32",
"type": "file",
"size": 8319
},
{
"name": "file002",
"timestamp": "2020-02-22 16:09:44",
"type": "file",
"size": 16813
},
{
"name": "file003",
"timestamp": "2020-02-22 16:18:37",
"type": "file",
"size": 101
},
{
"name": "file004",
"timestamp": "2020-02-22 16:34:44",
"type": "file",
"size": 15301
},
{
"name": "file005",
"timestamp": "2020-02-22 16:49:20",
"type": "file",
"size": 2693
},
{
"name": "file006",
"timestamp": "2020-02-22 17:05:54",
"type": "file",
"size": 7719
}
]
},
{
"name": "file003",
"timestamp": "2020-02-22 16:06:17",
"type": "file",
"size": 19795
},
{
"name": "dir001",
"timestamp": "2020-02-22 16:17:45",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 16:18:51",
"type": "file",
"size": 3086
},
{
"name": "file001",
"timestamp": "2020-02-22 16:23:38",
"type": "file",
"size": 8133
},
{
"name": "file002",
"timestamp": "2020-02-22 16:35:25",
"type": "file",
"size": 6916
},
{
"name": "file003",
"timestamp": "2020-02-22 16:36:05",
"type": "file",
"size": 17667
},
{
"name": "file004",
"timestamp": "2020-02-22 16:51:42",
"type": "file",
"size": 13581
},
{
"name": "file005",
"timestamp": "2020-02-22 16:59:55",
"type": "file",
"size": 9410
},
{
"name": "file006",
"timestamp": "2020-02-22 17:03:47",
"type": "file",
"size": 9857
}
]
},
{
"name": "file004",
"timestamp": "2020-02-22 16:27:45",
"type": "file",
"size": 7698
},
{
"name": "file005",
"timestamp": "2020-02-22 16:29:31",
"type": "file",
"size": 17094
},
{
"name": "file006",
"timestamp": "2020-02-22 16:32:13",
"type": "file",
"size": 15849
},
{
"name": "file007",
"timestamp": "2020-02-22 16:45:19",
"type": "file",
"size": 9405
}
]
},
{
"name": "file003",
"timestamp": "2020-02-22 15:29:17",
"type": "file",
"size": 16557
},
{
"name": "file004",
"timestamp": "2020-02-22 15:32:07",
"type": "file",
"size": 281
},
{
"name": "dir002",
"timestamp": "2020-02-22 15:37:07",
"type": "dir",
"files": [
{
"name": "file000",
"timestamp": "2020-02-22 15:38:54",
"type": "file",
"size": 13709
},
{
"name": "file001",
"timestamp": "2020-02-22 15:52:25",
"type": "file",
"size": 2105
},
{
"name": "file002",
"timestamp": "2020-02-22 15:55:48",
"type": "file",
"size": 5371
},
{
"name": "file003",
"timestamp": "2020-02-22 16:04:48",
"type": "file",
"size": 11686
},
{
"name": "file004",
"timestamp": "2020-02-22 16:16:39",
"type": "file",
"size": 4903
},
{
"name": "file005",
"timestamp": "2020-02-22 16:30:20",
"type": "file",
"size": 3169
},
{
"name": "file006",
"timestamp": "2020-02-22 16:46:31",
"type": "file",
"size": 14022
}
]
}
]
} from sys import stdout
def _Printer(dict,indent,file):
if dict['type']=='file':
file.write('\t'*indent+f"{dict['name']}\t{dict['timestamp']}\t{dict['size']}\n")
else:
file.write('\t'*indent+f"{dict['name']}\t{dict['timestamp']}\n")
for i in dict['files']:
_Printer(i,indent+1,file)
def dict_printer(dict,file=stdout):
_Printer(dict,0,file) MYSR 发表于 2020-3-31 13:30
{
"name": "dir000",
"timestamp": "2020-02-22 14:25:44",
from sys import stdout
def _Printer(dict,indent,file):
if dict['type']=='file':
file.write('\t'*indent+f"{dict['name']}\t{dict['timestamp']}\t{dict['size']}\n")
else:
file.write('\t'*indent+f"{dict['name']}\t{dict['timestamp']}\n")
for i in dict['files']:
_Printer(i,indent+1,file)
def dict_printer(dict,file=stdout):
_Printer(dict,0,file)用dict_printer()打印即可 谢谢! 但是如果只能有两个参数的话该怎么写?
def print_folder(folder, indent=""):
print(f"{indent}{folder['name']:<12} {folder['timestamp']}")
这上面两行是已知的 需要用到递归和循环 folder是我的那个字典
在我想要知道怎么写的function 前面还有一个function是专门调整我想要的indent的
def print_file_listing(file_listing, indent=""):
print(f"{indent}{file_listing['name']:<12} "\
f"{file_listing['timestamp']} "\
f"{file_listing['size']:>8}")
永恒的蓝色梦想 发表于 2020-3-31 14:04
用dict_printer()打印即可
我那个程序里 还有一些自带的代码 我发着了 不好意思 我一开始也没讲清楚{:5_99:} MYSR 发表于 2020-3-31 14:07
谢谢! 但是如果只能有两个参数的话该怎么写?
def print_folder(folder, indent=""):
print(f"{inde ...
什么意思? 永恒的蓝色梦想 发表于 2020-3-31 14:17
什么意思?
好像有点难以表达.... MYSR 发表于 2020-3-31 14:54
好像有点难以表达....
……你这让我很难办啊 永恒的蓝色梦想 发表于 2020-3-31 15:15
……你这让我很难办啊
你知道这个地方怎么上传图片吗? 有图片就会好很多。。。 我看它这里只能给图片的网址 我不知道咋上传 永恒的蓝色梦想 发表于 2020-3-31 13:18
你这个字典的可读性有点糟糕
我想不只是这个问题 永恒的蓝色梦想 发表于 2020-3-31 13:18
你这个字典的可读性有点糟糕
这玩意真的好乱{:10_269:} MYSR 发表于 2020-3-31 15:45
你知道这个地方怎么上传图片吗? 有图片就会好很多。。。 我看它这里只能给图片的网址 我不知道咋上传
用图床 永恒的蓝色梦想 发表于 2020-3-31 16:11
用图床
图床 是什么 _2_ 发表于 2020-3-31 16:00
这玩意真的好乱
因为我不会传图片... r然后我有点表达不清楚.. MYSR 发表于 2020-3-31 18:02
图床 是什么
imgchr.com 永恒的蓝色梦想 发表于 2020-3-31 18:03
https://imgchr.com/i/GQtY7t
https://imgchr.com/i/GQtJ0I
一个是我想要的print出来的结果
还有一个是需要加代码的code
麻烦你了!
页:
[1]
2