小编Nic*_*man的帖子

Git:如何处理不同的shebang

人们如何处理本地和远程之间不同的shebang?

例如,我的本地python是/ usr/bin/python,而我的web主机是〜/ local/bin/python上专用的python.首席开发人员可能在/ usr/bin/ruby​​上有ruby,而我的是/ usr/local/bin/ruby​​.

我手动编辑shebang,但随后git将其标记为更改.理想情况下,我希望git忽略文件的第一行,或者忽略文件中行的正则表达式匹配.

在我看来,这一定是一个非常普遍的问题,但我找不到任何提及它.

我使用git,但我不会在任何方面称自己为专家.

git shebang

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

如何在Python中打印负零

我正在转换十进制度以打印为DMS.转换算法是您期望的,使用modf,添加符号从MS部分取出并仅留给D部分.

一切都很好,除了Degree为负零的情况,-0.一个例子是-0.391612,它应该打印为-0°23'29".

"%d"放下负号.我可以使用什么格式字符串来打印-0?

我已经用一个kludge来解决这个问题,它将数字转换为字符串,如果是负数则预先设置" - ",然后使用"%s"作为格式.这很尴尬,感觉不够优雅.

这是代码:

def dec_to_DMS(decimal_deg):
  deg = modf(decimal_deg)[1]
  deg_ = fabs(modf(decimal_deg)[0])
  min = modf(deg_ * 60)[1]
  min_ = modf(deg_ * 60)[0]
  sec = modf(min_ * 60)[1]
  return deg,min,sec

def print_DMS(dms):         # dms is a tuple
  # make sure the "-" is printed for -0.xxx
  format = ("-" if copysign(1,dms[0]) < 0 else "") + "%d°%02d'%02d\""
  return format % dms

print print_DMS(dec_to_DMS(-0.391612))
>>> -0°23'29"
Run Code Online (Sandbox Code Playgroud)

deg_是为了防止函数返回(-0,-23,-29); 它返回正确的(-0,23,29).

python python-2.7

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

如何在Vim脚本中使用Windows环境变量?

我有一个Vim脚本调用外部shell脚本并将输出读入当前缓冲区.它在Unix系统中运行良好.我正在尝试使脚本与操作系统无关,所以我希望它也适用于Windows用户.这是脚本中的相关行:

:exe ":0r !$HOME/bin/shell_script"
Run Code Online (Sandbox Code Playgroud)

根据Vim的文档,$HOME对Windows用户来说也应该很好.在命令模式下在Win XP上使用gvim,做

:echo $HOME
Run Code Online (Sandbox Code Playgroud)

确实产生了"C:\ Documents and Settings\my_user".

但是,我的Vim脚本(针对反斜杠调整)在Windows机器上失败,并在DOS cmd.exe窗口中显示消息

$ HOME\bin\shell_script"找不到.

换句话说,$HOME在将其传递给cmd.exe之前,Vim似乎没有扩展其值.

我也不能使用%APPDATA%,因为Vim解释%为当前文件并预先/附加文件名APPDATA.很奇怪,Vim 确实扩展%但不扩展$HOME.

如何$HOME正确扩展?是因为我exe在vim脚本中使用了吗?

windows vim environment

8
推荐指数
2
解决办法
3477
查看次数

标签 统计

environment ×1

git ×1

python ×1

python-2.7 ×1

shebang ×1

vim ×1

windows ×1