小编Rei*_*eid的帖子

如何判断一个字符串是否包含POSIX中的另一个字符串?

我想编写一个Unix shell脚本,如果另一个字符串中有一个字符串,它将执行各种逻辑.例如,如果我在某个文件夹中,请分支.有人可以告诉我如何做到这一点?如果可能的话,我想让这不是特定于shell的(即不仅仅是bash),但如果没有别的方法可以做到这一点.

#!/usr/bin/env sh

if [ "$PWD" contains "String1" ]
then
    echo "String1 present"
elif [ "$PWD" contains "String2" ]
then
    echo "String2 present"
else
    echo "Else"
fi
Run Code Online (Sandbox Code Playgroud)

unix shell

120
推荐指数
7
解决办法
28万
查看次数

如何创建具有最大和最小限制的Django FloatField?

我在我的Django模型中存储了一些浮点数据,只有一定范围的值才有意义.因此,我想在模型和SQL约束级别强加这些限制.

例如,我想做这样的事情:

class Foo(Model):
   myfloat = FloatField(min=0.0, max=1.0)
Run Code Online (Sandbox Code Playgroud)

我想在模型级别而不是表单级别执行此操作.事实上,我可能希望表单级别具有不同的范围; 例如,在表单级别使用百分比[0,100],但在模型中转换为[0,1].

这是可能的,如果可以的话,我该怎么做呢?

django django-models

48
推荐指数
2
解决办法
4万
查看次数

git可以永久忽略远程分支吗?

我正在使用GitHub的Pages功能.这通过将已发布的HTML放在一个名为的分支中来实现gh-pages.我有两个单独的工作目录,一个用于项目本身,另一个用于HTML文档.

在前者中,我想完全忽略gh-pages分支,因为它是一个不相关的工作线,我不希望它混乱我的各种提交可视化.

也就是说,我所拥有的是:

$ git remote show origin
* remote origin
  Fetch URL: git@github.com:reidpr/quac.git
  Push  URL: git@github.com:reidpr/quac.git
  HEAD branch: master
  Remote branches:
    bar              tracked
    foo              tracked
    gh-pages         tracked
    master           tracked
  Local branches configured for 'git pull':
    master    merges with remote master
  Local refs configured for 'git push':
    master    pushes to master    (up to date)
Run Code Online (Sandbox Code Playgroud)

而我想要的是:

$ git remote show origin
  [...]
  Remote branches:
    bar              tracked
    foo              tracked
    gh-pages         ignored
    master           tracked
  [...]
Run Code Online (Sandbox Code Playgroud)

请注意,我确实想要跟踪几个分支,而我只有一个分支.我想指定后者,而不是前者.

我可以删除本地引用 …

git branch

21
推荐指数
2
解决办法
4306
查看次数

是否有一个使用常规文件系统的简单Python map-reduce框架?

我有一些问题可能适用于Map-Reduce模型.我想尝试实现它们,但在这个阶段我不想去安装像Hadoop或Disco这样的重量级系统.

是否有一个用于map-reduce的轻量级Python框架,它使用常规文件系统来输入,临时文件和输出?

python mapreduce

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

为什么subprocess.Popen参数长度限制小于操作系统报告的限制?

我在Linux 3.16.0上运行Python 3.4.3.我想subprocess.Popen用一个长单个参数(一个复杂的Bash调用)运行一个命令,大约200KiB.

根据getconfxargs,这应该在我的范围内:

$ getconf ARG_MAX
2097152
$ xargs --show-limits < /dev/null
Your environment variables take up 3364 bytes
POSIX upper limit on argument length (this system): 2091740
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2088376
Size of command buffer we are actually using: 131072
Run Code Online (Sandbox Code Playgroud)

但是,Python以极小的限制失败:

>>> subprocess.Popen('echo %s > /dev/null' % ('a' * (131072-4096)), shell=True, executable='/bin/bash')
<subprocess.Popen object at 0x7f4613b58410> …
Run Code Online (Sandbox Code Playgroud)

python linux subprocess command-line-arguments python-3.x

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

如何解析Python中的自由文本时间间隔,从几年到几秒不等?

我想使用Python解析如下所示的自由文本时间间隔:

  • 1秒
  • 2分钟
  • 3小时
  • 4天
  • 5周
  • 6个月
  • 7年

有没有一种无痛的方法可以做到这一点,理想情况下只需调用一个库函数?

我试过了:

  • dateutil.parser.parse(),它可以理解几小时而不是几天或更长时间.
  • mx.DateTime.DateTimeDeltaFrom(),它可以通过几天了解,但在数周或更长的时间内失败,并且默默地(例如,它可能会创建一个长度为0的区间,或者将"2个月"解析为2分钟).

python time

10
推荐指数
2
解决办法
2659
查看次数

如何判断是否正在从交互式shell运行makefile?

我有一个运行命令的makefile可能需要一段时间.如果构建是从交互式shell启动的话,我希望这些命令是健谈的,但如果没有(特别是cron)则更安静.(伪代码)的一些东西:

foo_opts = -a -b -c
if (make was invoked from an interactive shell):
    foo_opts += --verbose

all: bar baz
    foo $(foo_opts)
Run Code Online (Sandbox Code Playgroud)

这是GNU make.如果我所做的具体细节,我可以编辑问题.

unix shell makefile gnu-make

7
推荐指数
1
解决办法
2549
查看次数

移动设备是否有足够的CPU来支持所有网站流量的HTTPS?

我们正在开发一个旨在用于智能手机和其他移动设备的Web应用程序,我们正在考虑通过HTTPS运行所有流量以简化安全性.

我知道大型计算机的HTTPS加密CPU成本相当微不足道,但对iPhone和Android等现代智能手机来说也是如此吗?

performance https mobile android ios

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