小编qkh*_*hly的帖子

在IPython中保存工作区

是否可以保存IPython工作区(定义的函数,不同类型的变量等),以便以后加载它?

这与save.image()MATLAB或R中的功能类似.之前已经提出了类似的问题,例如:

像在MATLAB中一样在IPython中保存会话?

但是,几年过去了,我想知道现在是否有一个好的解决方案.

python ipython

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

使用sshfs并没有root权限挂载远程文件系统

我使用管理员机器作为普通用户,并希望通过sshfs安装一些远程文件系统.该机器没有安装sshfs.有没有办法可以将它作为普通用户安装并挂载远程文件系统?

提前致谢!

sshfs

9
推荐指数
1
解决办法
9909
查看次数

有没有办法让redis中的客户端IP?

我做了网络搜索但没有发现任何问题.我在群集上运行redis并想知道哪台机器连接到redis(特别是当没有机器应该连接时,但redis仍然说连接了一些机器).

提前致谢.

redis

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

rstudio-服务器错误:错误系统错误 28(设备上没有剩余空间)

我的磁盘不久前空间不足,并且在我的计算机上运行的 rstudio-server 给了我一个错误。我已经清理了空间,但错误仍然出现:

05 Jan 2015 16:14:19 [rsession-user] ERROR system error 28 (No space left on device)                   
[path=/home/user/rstudio-project]; OCCURRED AT: core::Error 
core::system::file_monitor::<unnamed>::addWatch(const core::FileInfo&, const 
core::FilePath&, bool, int, core::system::file_monitor::<unnamed>::Watches*) 
/home/ubuntu/rstudio/src/cpp/core/system/file_monitor/LinuxFileMonitor.cpp:225; LOGGED 
FROM: core::Error session::modules::files::FilesListingMonitor::start(const 
core::FilePath&, core::json::Array*)   
/home/ubuntu/rstudio/src/cpp/session/modules/SessionFilesListingMonitor.cpp:66
Run Code Online (Sandbox Code Playgroud)

每次我单击文件窗格上的文件夹时,错误都会显示在控制台上。我尝试过重新启动服务器,但没有帮助。我只是尝试更新到最新的 rstudio-server (0.98.1091),但它仍然发生。任何帮助表示赞赏!

顺便说一句,我正在运行 ubuntu 14.04 64 位。

r rstudio-server

6
推荐指数
0
解决办法
1908
查看次数

while循环中累积的内存使用量

我的代码包含这个while循环:

while A.shape[0] > 0:
    idx = A.score.values.argmax()
    one_center = A.coordinate.iloc[idx]
    # peak_centers and peak_scores are python lists
    peak_centers.append(one_center)
    peak_scores.append(A.score.iloc[idx])
    # exclude the coordinates around the selected peak
    A = A.loc[(A.coordinate <= one_center - exclusion) | (A.coordinate >= one_center + exclusion)]
Run Code Online (Sandbox Code Playgroud)

A是一只DataFrame看起来像这样的熊猫:

   score  coordinate
0  0.158           1
1  0.167           2
2  0.175           3
3  0.183           4
4  0.190           5
Run Code Online (Sandbox Code Playgroud)

我试图找到最大分数(一个峰值)A,然后在先前找到的峰值周围排除一些坐标(在这种情况下为几百个),然后找到下一个峰值,依此类推.

A这是一只非常大的熊猫DataFrame.在运行此while循环之前,ipython会话使用了20%的机器内存.我认为运行这个while循环只会导致内存消耗下降,因为我从中排除了一些数据DataFrame.但是,我观察到的是内存使用量不断增加,并且在某些时候机器内存耗尽.

我在这里错过了什么吗?我是否需要在某处明确释放内存?

这是一个可以使用随机数据复制行为的简短脚本:

import …
Run Code Online (Sandbox Code Playgroud)

python memory pandas

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

Redis,仅允许对现有键进行操作

我正在使用python包(redis-py)来操作redis数据库。我有很多客户端在 Redis 中设置哈希的键和值。我希望他们仅在哈希存在时设置键和值。如果哈希不存在,设置键和值将创建哈希,这不是我想要做的。

在redis-py页面(https://github.com/andymccurdy/redis-py)中,作者提出了一种在客户端进行原子操作的方法。所以我写了一个类似的函数:

    with r.pipeline() as pipe:
        while True:
            try:
                pipe.watch("a_hash")
                if pipe.exists("a_hash"):
                    pipe.hset("a_hash", "key", "value")                  
                break
            except redis.WatchError:
                continue
            finally:
                pipe.reset()
Run Code Online (Sandbox Code Playgroud)

然而,这似乎不起作用。当我从另一个客户端删除哈希后,该哈希仍然是由这段代码创建的,所以我猜这段代码不是原子操作。有人可以帮我确定这段代码有什么问题吗?或者有没有更好的方法来达到这个目的?

感谢你的帮助!

python atomic redis

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

在python sqlalchemy中为动态名称的列设置值

我在Python sqlalchemy中有以下定义的表:

class entry(Base):
    summary = Column(String(10000))
    content = Column(String(10000))
    description = Column(String(10000))
Run Code Online (Sandbox Code Playgroud)

我基本上想要做以下事情:

a = entry()
for col in ['summary', 'content', 'description']:
    a[col] = get_value(col)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

TypeError: 'entry' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)

所以我想我不能把它a视为一个dict.通过sqlalchemy文档查看,我没有找到一种方法来设置a的值,Column当使用变量来识别Column.有人能指出我正确的方向吗?感谢您的帮助!

python sqlalchemy

4
推荐指数
1
解决办法
1262
查看次数

气流:如何仅在所有重试失败时发送电子邮件警报

我有以下气流 dag 的默认参数:

DEFAULT_ARGS = {
    'owner': 'me',
    'depends_on_past': False,
    'email': ['me@me.com'],
    'email_on_failure': True,
    'retries': 4,
    'retry_delay': timedelta(seconds=5)
}
Run Code Online (Sandbox Code Playgroud)

每次当特定的工作尝试失败时,我都会收到一封电子邮件警报。但是,是否可以要求气流仅在所有重试/尝试失败时才发送警报?

airflow airflow-scheduler

2
推荐指数
1
解决办法
4531
查看次数