我想从使用base64编码文件获得的字符串变量中获取原始文件的大小。
s
Out[878]:
Month AgentID 2017-01 2017-02 ... 2017-10 2017-11 2017-12
0 101 2.0 4.0 ... 0.0 0.0 1.0
1 102 2.0 3.0 ... 2.0 1.0 4.0
[2 rows x 11 columns]
如何从
package main
import (
"bufio"
"encoding/base64"
"io/ioutil"
"os"
)
func encodeFile(file string) string {
f, err := os.Open(file)
if err != nil {
panic(err)
}
reader := bufio.NewReader(f)
content, _ := ioutil.ReadAll(reader)
encoded := base64.StdEncoding.EncodeToString(content)
return encoded
}
func main() {
datas := encodeFile("/tmp/hello.json")
//how to get file size from datas
}
获取文件大小? ks。
答案 0 :(得分:0)
好吧,base64编码的字符串的长度与原始文件的长度不同。要获得原始尺寸,您可以执行以下操作:
1.在函数encodeFile
中返回len(content)
,即原始文件的大小。
x =(n *(3/4))-y 其中:
len(datas)
答案 1 :(得分:0)
这应该做到:
import functools
def gini_node(node):
count = sum(node)
gini = functools.reduce(lambda p,c: p + (1 - (c/count)**2), node)
print(count, gini)
print(1 - (node[0]/count)**2, 1 - (node[1]/count)**2)
return gini
def gini (groups):
counts = [ sum(node) for node in groups ]
count = sum(counts)
proportions = [ n/count for n in counts ]
return sum([ gini_node(node) * proportion for node, proportion in zip(groups, proportions)])
# test
print(gini([[175, 330], [220, 120]]))