小编Nis*_*sba的帖子

获取Python中的硬盘大小

我正在尝试使用Python获取硬盘大小和可用空间(我使用带有macOS的Python 2.7).

我正在尝试os.statvfs('/'),尤其是以下代码.我正在做的事情是否正确?giga我应该使用哪个变量定义?

import os

def get_machine_storage():
    result=os.statvfs('/')
    block_size=result.f_frsize
    total_blocks=result.f_blocks
    free_blocks=result.f_bfree
    # giga=1024*1024*1024
    giga=1000*1000*1000
    total_size=total_blocks*block_size/giga
    free_size=free_blocks*block_size/giga
    print('total_size = %s' % total_size)
    print('free_size = %s' % free_size)

get_machine_storage()
Run Code Online (Sandbox Code Playgroud)

编辑: statvfs在Python 3中已弃用,您知道其他选择吗?

python hard-drive

17
推荐指数
3
解决办法
2万
查看次数

在赋值期间是否通过副本传递了结构中的swift类?

如果我在swift中有一个struct属性并且我复制了struct对象,那么class属性是通过引用复制还是传递的?

struct class pass-by-reference pass-by-value swift

12
推荐指数
3
解决办法
2859
查看次数

在 VSCode 中只看到调试 C++ 的局部变量

我正在使用 Visual Studio Code,当我调试(我正在调试用 Clang 编译的 C++ 代码)时,我只看到局部变量。我没有看到任何全局变量列表。

如何查看所有变量?

在此处输入图片说明

在这种情况下,我在一个循环中,我只看到循环内部定义的所有变量,而不是外部定义的变量。

c++ visual-studio-code

11
推荐指数
1
解决办法
5992
查看次数

Swift 3将字符串复制到剪贴板

你如何使用Xcode 8和Swift 3在macOS 10.12中使用Copy字符串Clipboard?我找不到任何参考资料.

nspasteboard swift3 macos-sierra xcode8

9
推荐指数
2
解决办法
3835
查看次数

无法"上传到App Store"Xcode 7 beta 4,watchOS 2

我必须在App Store上传我的应用程序才能使用Test Flight进行一些内部测试.即使我仍在使用测试版,根据这个问题,这是可能的.是否可以将iOS应用程序上传到App Store,以便从Xcode 7 beta进行内部测试?

不幸的是我无法做到这一点.首先是一些细节,我的应用名称是Workout,我已经为iOS 9和watchOS 2创建了一个应用程序.在照片中你可以看到我项目中最大的一个(由Xcode自动创建).

在此输入图像描述

我尝试过很多配置,这里有一些a)(有六种设置,比如图中的六个图标)

Workout (the blue icon)-> Code Signing Identity: automatic, Provisioning Profile: App Store Distribution
Workout (the light blue monochromatic icon)-> Code Signing Identity: iPhone Developer, Provisioning Profile: App Store Distribution
WorkoutTests-> Code Signing Identity: iOS Developer, Provisioning Profile: Automatic
WorkoutUITests-> The same as above
Workout WatchKit App-> Code Signing Identity: iPhone Developer, Provisioning Profile: App Store Distribution WatchKit
Workout WatchKit Extension-> Code Signing Identity: iPhone Developer, Provisioning Profile: App Store …
Run Code Online (Sandbox Code Playgroud)

provisioning-profile testflight watchkit watchos-2 xcode7-beta4

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

什么是事务内存以及它在 C++ 编程中会发生什么变化 (C++20)

为 C++20 提议的特性之一是事务内存。

它是什么?它会简化 C++ 中的多线程编程吗?

c++ transactional-memory c++20

5
推荐指数
0
解决办法
349
查看次数

std :: vector的性能不好是因为没有调用realloc的对数次?

编辑:我添加了两个基准,比较realloc与C数组的使用和reserve()与std :: vector的使用.从最后的分析来看,似乎realloc影响很大,即使只调用了30次.检查文档我想这是因为realloc可以返回一个全新的指针,复制旧的指针.为了完成该场景,我还添加了用于在初始化期间完全分配阵列的代码和图形.区别reserve()是有形的.

编译标志:只有图中描述的优化,用g ++编译,仅此而已.

原始问题:

std::vector当我添加10亿个整数并且第二个代码比使用向量的代码快得多时,我做了vs新/删除数组的基准测试,尤其是在启用优化的情况下.

我怀疑这是由内部调用realloc的向量太多次引起的.如果vector每次填充时它的大小不会增加一倍就会出现这种情况(这里数字2没有什么特别之处,重要的是它的大小几何增长).在这种情况下,对realloc的调用只会O(log n)代替O(n).

如果这是导致第一个代码缓慢的原因,我怎么能告诉std :: vector几何增长?

请注意,调用reserve一次会在这种情况下工作,但不是在更普遍的情况下,事先不知道push_back的数量.

在此输入图像描述

黑线

#include<vector>

int main(int argc, char * argv[]) {
    const unsigned long long size = 1000000000;

    std::vector <int> b(size);
    for(int i = 0; i < size; i++) {
        b[i]=i;
    }    
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

蓝线

#include<vector>

int main(int argc, char * argv[]) {
    const int size = 1000000000;    
    std::vector <int> b;
    for(int i = 0; i < size; i++) { …
Run Code Online (Sandbox Code Playgroud)

c++ performance benchmarking vector realloc

5
推荐指数
3
解决办法
926
查看次数

是Swift词典的性能索引?即使是异国风情(UUID)?

我想构建一些将保留以便快速搜索的数组.如果我使用这样的东西:

let dictionary: [Int:Int] = [:]
for i in 0 ..< 10000000 {
    dictionary[i] = 0
}
Run Code Online (Sandbox Code Playgroud)

请问查询:

dictionary[n] == nil
Run Code Online (Sandbox Code Playgroud)

在对数时间内执行?

如果是,对其他类型是否相同:Float,Double,String.

最后,我需要它使用UUID类型,它会工作吗?

performance dictionary logarithm indexed swift

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

Python嵌套生成器无法正常工作

我正在练习发电机,我想知道为什么以下代码不打印16对但只有4对.

def range_generator_function(my_range):
    for i in my_range:
        yield i

gen1=range_generator_function(range(1,5))
gen2=range_generator_function(range(1,5))

def pairs_generator_function(gen1,gen2):
    for it1 in gen1:
        for it2 in gen2:
            yield [it1,it2]

my_gen = pairs_generator_function(gen1,gen2)

for it in my_gen:
    print(it)
Run Code Online (Sandbox Code Playgroud)

输出是

[1, 1]
[1, 2]
[1, 3]
[1, 4]
Run Code Online (Sandbox Code Playgroud)

虽然我期望的输出是

[1, 1]
[1, 2]
[1, 3]
[1, 4]
[2, 1]
[2, 2]
[2, 3]
[2, 4]
[3, 1]
[3, 2]
[3, 3]
[3, 4]
[4, 1]
[4, 2]
[4, 3]
[4, 4]
Run Code Online (Sandbox Code Playgroud)

python generator

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

将 std::string 转换为 Swift 字符串

精简版:

如何将std::string(使用桥接从 .Swift 文件调用的 .cpp 函数返回的对象)转换为 Swift String

长版:

我有一个用 C++ 编写的库,我必须使用 Swift 调用一些代码。我创建了一个桥,在我的 Xcode 项目中添加了两个文件:

一个桥接头,它允许 Swift 调用 C 函数(afaik Swift 不能直接调用 C++ 函数,所以它需要通过 C 函数)

//file bridgingHeader.h
const char * getLastOpenedFile();
Run Code Online (Sandbox Code Playgroud)

和一个 .cpp 文件,它可以在内部调用(当然)C++ 函数,并且可以用 extern "C" 定义 C 函数

//file wrapper.cpp    
#include <string>
#include "my_library.hpp"

extern "C" const char * getStringFromLibrary()
{
    const char * s = get_string_from_library().c_str();
    return s;
}
Run Code Online (Sandbox Code Playgroud)

我可以使用 .swift 文件访问返回值

let myString = String(cString: getStringFromLibrary())
Swift.print(myString)
Run Code Online (Sandbox Code Playgroud)

放置断点检查s函数内部的值getStringFromLibrary() …

c++ bridge static-libraries swift

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