小编Phi*_*hil的帖子

使用文件输出自动创建目录

可能重复:
python中的mkdir -p功能

说我想制作一个文件:

filename = "/foo/bar/baz.txt"

with open(filename, "w") as f:
    f.write("FOOBAR")
Run Code Online (Sandbox Code Playgroud)

这给了一个IOError,因为/foo/bar不存在.

什么是自动生成这些目录的最pythonic方式?难道真的要我明确调用os.path.existsos.mkdir在每个单独的一个(即/富,则/富/条)?

python file-io

301
推荐指数
1
解决办法
25万
查看次数

PHP内部如何使用数组键和类型?

假设我定义了一个数组:

$a = Array();
$a[0] = 1;
$a['0'] = 2;
$a['0a'] = 3;
print_r($a);
Run Code Online (Sandbox Code Playgroud)

输出是相当可观的.我假设在内部存在某种strval()或某种情况intval()以允许覆盖该值.

Array
(
    [0] => 2
    [0a] => 3
)
Run Code Online (Sandbox Code Playgroud)

但这让我感到困惑.

foreach($a as $k => $v) {
    print(gettype($k) . "\n");
}
Run Code Online (Sandbox Code Playgroud)

这给了我:

integer
string
Run Code Online (Sandbox Code Playgroud)

在使用Array键时,PHP内部如何进行这些类型转换?即,如何根据文档确定密钥是"有效十进制整数" ?此外,is_int不适用于字符串.

php

5
推荐指数
1
解决办法
100
查看次数

Python 2D列表性能,没有numpy

我试图在Python中创建一个2D列表.我找到了两种可能性.

def cArray(size):
    c = [[0. for i in range(size)] for j in range(size)]
    return c

def npArray(size):
    np = numpy.zeros((size,size))
    return np
Run Code Online (Sandbox Code Playgroud)

现在这两个函数都给出了正确的答案.这里的问题在于性能.我使用timeit运行了这两个,这是我的结果:

list size is 5000
number of times run is 5

cArray average time: 3.73241295815
npArray average time: 0.210782241821
Run Code Online (Sandbox Code Playgroud)

很明显,我想避免使用第一个解决方案,特别是因为这将适用于高达100k的大小.但是,我也不想使用太多的依赖项.有没有办法让我有效地创建一个2D数组,没有numpy?它不需要完全达到速度,只要它不慢17倍.

python numpy

3
推荐指数
1
解决办法
4719
查看次数

标签 统计

python ×2

file-io ×1

numpy ×1

php ×1