这是我的代码:
double loglikelihood = 0;
double loglikelihood1 = 0;
double THRESHOLD = 5;
double c = THRESHOLD + 1;
std::ofstream llh_file;
std::ofstream myfile;
const char *path= "path_of_file_to_be_saved";
myfile = ( string(path) + flags.inference_result_file_.c_str() );
for (int iter = 0; c > THRESHOLD; ++iter) {
std::cout << "Iteration " << iter << " ...\n";
loglikelihood = 0;
llh_file.open(myfile.c_str() );
loglikelihood += sampler.LogLikelihood(&document);
llh_file << "THE LOGLIKELIHOOD FOR ITER " << iter << " " << "IS: " << loglikelihood << "\n"; …Run Code Online (Sandbox Code Playgroud) 我想为文件的每一行添加方括号。
我正在使用sed -i "s/\(.*\)/[\1]/" file_name.txt命令,但我看到它插入了 2 倍的方括号,我的输出(只是第一行,每行都相同)看起来像这样
[[1,1,0,0,0,0,1,0,24,3,0,0,0,0,86,149,149,14,0,0,0,0,32,149,46,16,0,0,1,13,3,33,65,66,0,0,0,0,0,2,149,140,6,0,0,2,62,148,88,24,26,2,0,14,116,148,30,15,1,0,0,1,5,30,56,18,0,0,0,0,0,4,149,46,40,14,0,0,1,34,31,46,149,31,0,2,9,12,1,7,8,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,12,2,0,0,0,0,0,0,0,0,0,0,0,0]]
Run Code Online (Sandbox Code Playgroud)
如何使用 sed 为每一行插入一个方括号?请帮忙。提前致谢!
我有输入文件:
1 sentences, 6 words, 1 OOVs
1 zeroprobs, logprob= -21.0085 ppl= 15911.4 ppl1= 178704
6 words, rank1= 0 rank5= 0 rank10= 0
7 words+sents, rank1wSent= 0 rank5wSent= 0 rank10wSent= 0 qloss= 0.925606 absloss= 0.856944
file input.txt : 1 sentences, 6 words, 1 OOVs
1 zeroprobs, logprob= -21.0085 ppl= 15911.4 ppl1= 178704
6 words, rank1= 0 rank5= 0 rank10= 0
7 words+sents, rank1wSent= 0 rank5wSent= 0 rank10wSent= 0 qloss= 0.925606 absloss= 0.856944
Run Code Online (Sandbox Code Playgroud)
我想提取单词ppl和后面的值,在这种情况下:ppl = 15911.4
我正在使用此代码:
with open("input.txt") as openfile: …Run Code Online (Sandbox Code Playgroud)