小编dbr*_*dbr的帖子

如何确定目录是否在同一分区上

假设我有一个输入文件和一个目标目录.如何确定输入文件是否与目标目录位于同一硬盘驱动器(或分区)上?

我想要做的是复制一个文件,如果它是一个不同的,但移动它,如果它是相同的.例如:

target_directory = "/Volumes/externalDrive/something/"
input_foldername, input_filename = os.path.split(input_file)
if same_partition(input_foldername, target_directory):
    copy(input_file, target_directory)
else:
    move(input_file, target_directory)
Run Code Online (Sandbox Code Playgroud)

感谢CesarB的回答,该same_partition功能实现了:

import os
def same_partition(f1, f2):
    return os.stat(f1).st_dev == os.stat(f2).st_dev
Run Code Online (Sandbox Code Playgroud)

python linux filesystems macos

6
推荐指数
1
解决办法
1143
查看次数

填充操作如何在涂料应用中起作用?

所有绘画程序,无论它们多么简单或复杂,都带有填充工具.这基本上用另一种颜色替换封闭区域的颜色.我知道有不同的API可以做到这一点,但我对算法很感兴趣.实现此工具的有效算法是什么?

我能想到的一些事情很快就是:

  1. 将图像转换为二进制图,其中要替换的颜色中的像素是1所有其他颜色0.
  2. 在要更改的点周围找到一个闭合区域,使得内部的所有像素都为1,并且所有相邻像素都为0.

示例图像

algorithm image-processing

6
推荐指数
2
解决办法
6011
查看次数

托管Facebook应用程序?

我查看了FaceBook Developer页面,发现可以创建FaceBook应用程序,但是这个应用程序必须由您托管!

我是新手,有没有人有经验呢?

hosting facebook

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

Ruby一次只创建3个线程

我试图运行500个客户端,同时向服务器发送一些请求以进行负载测试.客户端再次成为ruby程序.听起来微不足道.但是我遇到了ruby线程的奇怪问题.我的代码看起来像这样 -

n = 10

n.times do
  Thread.new do
    `calc`
  end
end
Run Code Online (Sandbox Code Playgroud)

代码是一个示例.我只是试图从命令行运行calc命令(如果您在Windows以外的平台上尝试此代码,请将其替换为适用于您的命令行或shell的命令).稍后将替换为' ruby my_client.rb',并且n的值将设置为500(或其他).

我在这里遇到的问题是,无论我想创建多少个线程,一次只创建3个线程.那只是同时打开3个计算窗口.剩余的线程只是在队列中等待等待这3个线程的终止.可能与阻止和非阻塞调用有关.但是我尝试了Java相同的程序,它运行得很好.这是一句老话,不建议使用红宝石线.这是Ruby的线程存在问题还是我做错了?

ruby multithreading

6
推荐指数
1
解决办法
2416
查看次数

从应用程序商店安装iPhone应用程序付费版本替换免费版本

我刚刚发布了付费应用程序商店应用程序的免费版本,我希望付费版本在安装时替换免费版本.

在测试过程中,我通过为他们提供相同的应用程序ID并使用相同的证书签名来完成此工作.

当我向Apple提交新的免费版本时,我不会让我使用现有的应用程序ID,而是为免费版本创建了一个新版本.

这样的副作用现在我的付费版本不再替换安装时的免费版本.用户最终都安装在手机上.

如何使付费版本取代免费版本?


编辑1:我同时想在应用程序商店中同时使用应用程序的免费和付费版本.免费版本中有一个链接可以购买付费版本.

编辑2:我以为我曾经看到过来自商店的其他应用程序这样做,但也许我错了.

iphone app-store

6
推荐指数
1
解决办法
3431
查看次数

所有主流浏览器都支持HTML 5吗?

我在这里查看html 5的自定义属性功能 http://ejohn.org/blog/html-5-data-attributes/

当我使用jquery/javascript时,这看起来很完美.

我的问题,所有主流浏览器都支持HTML 5吗?

<li class="user" data-name="John Resig" data-city="Boston"
     data-lang="js" data-food="Bacon">
  <b>John says:</b> <span>Hello, how are you?</span>
</li>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery html5 custom-attributes

6
推荐指数
1
解决办法
9297
查看次数

列出所有驱动器/分区,并使用Cocoa获取/ dev/rdisc设备

有没有办法列出可用的驱动器,类似于磁盘工具,并获取相关的/dev/rdisk*设备?

磁盘工具可以访问此数据 - 当您选择驱动器并按信息按钮时,它会列出..

Partition Map Scheme : GUID Partition Table
Disk Identifier : disk0
Media Name : Hitachi HTS541612J9SA00 Media
Run Code Online (Sandbox Code Playgroud)

..或选择一个分区:

Disk Identifier : disk0s3
Mount Point : /Volumes/BOOTCAMP
Run Code Online (Sandbox Code Playgroud)

是否有一个Cocoa API来实现这个目标?如果是这样,通过Interface Builder显示它的最佳方法是什么?

filesystems api cocoa

6
推荐指数
1
解决办法
4594
查看次数

Bump(ing)背后的数学?

我随机查看了bu.mp(http://bu.mp/faq)的常见问题解答,这部分引起了我的注意:

问:没办法.如果有人在同一时间撞到怎么办?

办法.我们使用各种技术来限制潜在匹配池,包括位置信息和碰撞事件的特征.如果你碰到一个特别密集的区域(例如,在会议上),并且我们无法在单个碰撞后解决一个独特的匹配,我们只会要求你再次碰撞.我们的CTO拥有量子力学博士学位,可以展示其背后的数学,但我们建议您下载Bump并亲自尝试!

是否真的有任何理由可能会有一些非平凡的数学背后碰撞,或者是"我们的CTO拥有量子力学博士学位并且可以展示数学背后的数学"可能只是一点点诙谐?[我很难想象为什么比查看位置+时间更复杂的东西是必要的,但也许我只是低估了iPhone可以从凹凸中收集的问题或数据类型(例如某种类型)震颤波形?).]

math

6
推荐指数
1
解决办法
403
查看次数

解包十六进制编码的浮点数

我正在尝试将以下Python代码转换为C++:

import struct
import binascii


inputstring = ("0000003F" "0000803F" "AD10753F" "00000080")
num_vals = 4

for i in range(num_vals):
    rawhex = inputstring[i*8:(i*8)+8]

    # <f for little endian float
    val = struct.unpack("<f", binascii.unhexlify(rawhex))[0]
    print val

    # Output:
    # 0.5
    # 1.0
    # 0.957285702229
    # -0.0
Run Code Online (Sandbox Code Playgroud)

因此,它读取32位值的十六进制编码字符串,使用该unhexlify方法将其转换为字节数组,并将其解释为little-endian浮点值.

以下几乎可以工作,但代码有点蹩脚(最后00000080解析不正确):

#include <sstream>
#include <iostream>


int main()
{
    // The hex-encoded string, and number of values are loaded from a file.
    // The num_vals might be wrong, so some basic error checking …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point hex

6
推荐指数
1
解决办法
1572
查看次数

如何编写像dired这样的emacs主模式

我在为一种语言编写一个主模式时发现了一堆信息(比如这个),但是......我想编写一个模式,dired或者tetris使用缓冲区作为GUI的模式.

在本手册"主要模式"部分中,"基本主要模式"页面暗示它应该基于模式special-mode,但我找不到更多有用的信息

有没有关于编写special-mode派生模式的好教程?任何好的基本"你好世界"这样的事情的例子?

emacs elisp major-mode

6
推荐指数
1
解决办法
531
查看次数