以下是输入列表(在文件\u id.txt中):
file-F0Y6GbQ09k704jfGBQX0pgF8
file-FfYqQv00ypGfqQKkF96zX3yV
file-FfYqPf80ypGj712qFBggV2BV
file-FfQpFYQ0ypGqfjkJ8z90Ygzv
file-FfQpFYQ0ypGpQ4K7GGj40VVZ
file-FfQpFYQ0ypGxV3xG7BZQxz3y
file-FfQpFYQ0ypGZ3ZVk7745ZGFf
file-Ff0Qk100ypGYV26V52JZkJ0q
file-FfK1pZ80ypGjgyF73b3fFjgG
下面是所需的输出(output.json):
{
"stage-xxx.input_files": [
{"$dnanexus_link": "file-F0Y6GbQ09k704jfGBQX0pgF8"},
{"$dnanexus_link": "file-FfYqQv00ypGfqQKkF96zX3yV"},
{"$dnanexus_link": "file-FfYqPf80ypGj712qFBggV2BV"},
{"$dnanexus_link": "file-FfQpFYQ0ypGqfjkJ8z90Ygzv"},
{"$dnanexus_link": "file-FfQpFYQ0ypGpQ4K7GGj40VVZ"},
{"$dnanexus_link": "file-FfQpFYQ0ypGxV3xG7BZQxz3y"},
{"$dnanexus_link": "file-FfQpFYQ0ypGZ3ZVk7745ZGFf"},
{"$dnanexus_link": "file-Ff0Qk100ypGYV26V52JZkJ0q"},
{"$dnanexus_link": "file-FfK1pZ80ypGjgyF73b3fFjgG"}
]
}
这是我目前的代码:
#!/usr/bin/python3 env
fname = input("Enter file name of the list: ")
if len(fname) < 1 : fname = "file_id.txt"
stage_name = input("Enter stage name for the input: ")
if len(stage_name) < 1 : stage_name = "stage-xxx"
input_var = input("Enter input variable name: ")
if len(input_var) < 1 : input_var = "input_files"
fh = open(fname)
out_file = open('output.json', 'w')
out_file.write('{\n "' + f'{stage_name}' + "." + f'{input_var}' + '": [' + "\n")
for line in fh:
fileid = line.rstrip()
out_file.write(" {" + "\"$dnanexus_link\": " + f'"{fileid}"' + "},\n")
out_file.write(' ]\n}\n')
out_file.close()
print("output.json created!")
我对python相当陌生,不知道如何删除输出json中最后一个文件末尾的逗号。我想知道是否有一种方法可以使用json模块将文件列表转储为json格式,而无需静态文本编码
这段代码读取您的文件,同时生成
list
的dict
然后我将这个
list
包装在最后的dict
中,并使用json.dumps()获得一个字符串:作为
output.json
输出,但在一行上相关问题 更多 >
编程相关推荐