这里问了一个相关的问题.但答案是习惯了自动完成工作的新方式掌舵.我不能习惯它,这就是原因.
说,我想打开一个文件/home/user/work/f.txt.我知道C-x C-f,这需要我当前的目录,比如说/current/dir/.我点击Backspace并注意到自动完成不会让我删除/.好的,关闭自动完成功能C-Backspace.然后杀死该行C-a C-k并开始输入.请注意,自动完成功能不起作用,请将其重新打开C-Backspace.通常我会输入我知道可能是唯一的部分,例如/hom并点击Tab.
不在这里.一旦我输入/ho,自动完成功能就会将其解析为/home/,但由于我输入速度很快,我最终会使用/home/m,并继续输入现在无意义的字符,直到我注意到它为止.有可能,到那时我已经自动完成了我无意进入的目录.
因此,我必须不断观察自动完成正在做什么,而不是依赖我输入的内容,并且只在我点击时检查建议的完成情况Tab.
我也发现自己由于偶尔的错字而下降到错误的目录中,然后难以上升到一个级别 - 邪恶的自动完成不会让你用几个Backspaces来解决这个问题.
自动完成行为和Tab功能删除的这种交互完全扰乱了我的工作,以至于我决定提出这个问题.我期待着:
请帮忙.
我知道这个资源。但它没有说明.u.upd需要哪些参数以及如何检查它是否有效。
该语句执行没有错误,尽管它似乎没有做任何事情:
.u.upd[`t;(`$"abc";1;2;3)]
Run Code Online (Sandbox Code Playgroud)
如果我事先定义了表格,例如
t:([] name:"aaa";a:1;b:2;c:3)
Run Code Online (Sandbox Code Playgroud)
那么上面的.u.upd仍然运行没有错误,并且不会改变t。
我正在研究一个 Luigi 管道,该管道检查是否存在手动创建的文件,如果存在,则继续执行下一个任务:
import luigi, os
class ExternalFileChecker(luigi.ExternalTask):
task_namespace='MyTask'
path = luigi.Parameter()
def output(self):
return luigi.LocalTarget(os.path.join(self.path, 'externalfile.txt'))
class ProcessExternalFile(luigi.Task):
task_namespace='MyTask'
path = luigi.Parameter()
def requires(self):
return ExternalFileChecker(path=self.path)
def output(self):
dirname = self.path
outfile = os.path.join(dirname, 'processedfile.txt')
return luigi.LocalTarget(outfile)
def run(self):
#do processing
if __name__ == '__main__':
path = r'D:\MyPath\luigi'
luigi.run(['MyTask.ProcessExternalFile','--path', path,\
'--worker-retry-external-tasks','--scheduler-retry-delay', '20',\
'--worker-keep-alive'])
Run Code Online (Sandbox Code Playgroud)
我想要的是 luigi 在创建手册文件并将其粘贴到路径中后继续。当我这样做时,它不是查找文件并继续执行任务,而是每隔几秒钟重新检查一次新任务:
DEBUG: There are no more tasks to run at this time
DEBUG: There are 2 pending tasks possibly being run by other workers …Run Code Online (Sandbox Code Playgroud) 用例:某些任务是需要数小时的长批处理作业,需要在决定首先重新运行哪个日期之前查看给定日期完成的任务和失败的任务。
如何在不运行任何东西的情况下查看中央调度器生成的依赖图?我确实意识到我可以简单地重新运行给定日期的图表,并且(假设没有任何变化)它将在与上次运行完全相同的地方失败,并且我将能够在调度程序中看到图表。假设一个任务需要很长时间才能失败。有没有类似的--dry-run争论?
我还可以创建一个空的“切换开关”任务,该任务将根据输入参数失败或完成。但是,我需要记住让每个任务都依赖于它 - 容易忽视(可以通过子类化解决)但也会造成混乱。
有没有更好的选择可以考虑?
编辑:
看起来我可以通过--workers=0在调用luigi. 这会导致以下消息:
Did not run any tasks
This progress looks :| because there were tasks that were not granted run permission by the scheduler
Run Code Online (Sandbox Code Playgroud)
什么都没有运行,我得到了我的图表。在这里记录似乎是一个有用的技巧。
如果是,语法是什么?例如,在logging.conf我想做这样的事情:
[DEFAULT]
log_dir = $(LOG_DIR)
...
[handler_root]
level=INFO
class=handlers.TimedRotatingFileHandler
formatter=standardFormatter
args=("%(log_dir)s/my.log","midnight",1,14)
Run Code Online (Sandbox Code Playgroud) 我正在使用CUP和JFlex来验证表达式语法.我有基本的功能:我可以判断一个表达式是否有效.
下一步是实现简单的算术运算,例如"add 1".例如,如果我的表达式是"1 + a",则结果应为"2 + a".我需要访问解析树来执行此操作,因为简单地识别数字术语将不会这样做:将"1(a +)*b + 1"添加1的结果应为"(1 + a)*b + 1" ,而不是"(2 + a)*b".
有没有人有一个生成解析树的CUP示例?我想我可以从那里拿走它.
作为额外的奖励,有没有办法使用JFlex获取表达式中所有令牌的列表?看起来像一个典型的用例,但我无法弄清楚如何做到这一点.
编辑:找到有关堆栈溢出的有希望的线索: 从解析器创建抽象树问题
讨论CUP和AST:
http://pages.cs.wisc.edu/~fischer/cs536.s08/lectures/Lecture16.4up.pdf
具体来说,这一段:
解析器返回的符号与语法的起始符号相关联,并包含整个源程序的AST
这没有用.如果Symbol类没有任何导航指针给它的子节点,如何遍历给定Symbol实例的树?换句话说,它看起来或行为不像树节点:
package java_cup.runtime;
/**
* Defines the Symbol class, which is used to represent all terminals
* and nonterminals while parsing. The lexer should pass CUP Symbols
* and CUP returns a Symbol.
*
* @version last updated: 7/3/96
* @author Frank Flannery
*/
/* ****************************************************************
Class Symbol
what the parser expects …Run Code Online (Sandbox Code Playgroud) 在我的代码中,我对Enum具有相同值但不比较相等的实例感到困惑.我很快意识到他们id(...)的不同.后来,不那么快,我意识到自上次工作以来唯一的变化是import声明:使用显式模块路径而不是相对路径.
然后我想出了这个孤立的例子.
$ ls
e/
$ ls e
__init__.py __pycache__/ m1.py m1.pyc m2.py
$ python3 --version
Python 3.5.1
$ cat e/m1.py
from enum import Enum
class E(Enum):
x=0
$ cat e/m2.py
from m1 import E as E1
from e.m1 import E as E2
print(id(E1), id(E1.x))
print(id(E2), id(E2.x))
Run Code Online (Sandbox Code Playgroud)
我们来吧:
$ PYTHONPATH=~/test python3 e/m2.py
41536520 42656096
41537464 42656488
Run Code Online (Sandbox Code Playgroud)
显然,平等(由身份证明Enum)并不成立.那里的其他人都觉得这个麻烦吗?
让我详细说明一下.再添加两个文件:
$ cat e/file1.py
from m1 import E
class C():
def __init__(self):
self.x = E.x …Run Code Online (Sandbox Code Playgroud) 我从文本文件中读取时间戳。这些时间戳采用 UTC-4。我需要将它们转换为美国/东部。
import datetime
datetime_utc4 = datetime.datetime.strptime("12/31/2012 16:15", "%m/%d/%Y %H:%M")
Run Code Online (Sandbox Code Playgroud)
如何将其转换为美国/东部?最好是单行答案。
注意:我原来的问题是 EST 到 EDT。但这并没有改变问题的本质,即如何从一个时区转到另一个时区。经过一些阅读(以下评论),我认为python(特别是pytz)不会将EST和EDT视为单独的时区,而是将其视为美国/东部的两种风格。但这是一个实现细节。通常将 EST 和 EDT 称为两个不同的时区,例如参见此处。
我看到许多使用类成员变量将后台任务的值传递给完成块的示例:
self.bgTask = UIApplication.sharedApplication()
.beginBackgroundTaskWithName("bg task", expirationHandler: { () -> Void in
UIApplication.sharedApplication().endBackgroundTask(self.bgTask)
self.bgTask = UIBackgroundTaskInvalid
})
Run Code Online (Sandbox Code Playgroud)
如果在第一个后台任务仍在运行时第二次调用此代码,self.bgTask则会被新任务的标识符覆盖,并且UIApplication.sharedApplication().endBackgroundTask(self.bgTask)可能永远不会被调用.
如果我声明一个局部变量,那么它的值在被初始化之前被闭包捕获.也不好.
如何安全地将任务ID传递给完成处理程序?如果我的上述推理错误,请纠正我.
我可以看到BOOLEAN覆盖__visit_name__
class BOOLEAN(Boolean):
__visit_name__ = 'BOOLEAN'
Run Code Online (Sandbox Code Playgroud)
控制调度员选择的访客方法
def _compiler_dispatch(self, visitor, **kw):
visit_attr = 'visit_%s' % self.__visit_name__
try:
meth = getattr(visitor, visit_attr)
Run Code Online (Sandbox Code Playgroud)
在MS SQL的情况下,访问者MSSQLCompiler来自GenericTypeCompiler.现在,MSSQLCompiler覆盖visit_boolean:
def visit_boolean(self, type_, **kw):
return self.visit_BIT(type_)
Run Code Online (Sandbox Code Playgroud)
但它不会覆盖visit_BOOLEAN,因此列类型Boolean解析为"BIT",并且BOOLEAN(通过超类)解析为"BOOLEAN",这不是有效的MS SQL类型.
为什么这种不一致?是否MSSQLCompiler需要覆盖visit_BOOLEAN,或者是否有我遗漏的东西?有什么区别,概念,之间Boolean和BOOLEAN类型?
很久以前我有别人建的zmq.jar.我怎样才能找出它对应的版本?
在MANIFEST中并不多:
$ cat MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_14 (Sun Microsystems Inc.)
Run Code Online (Sandbox Code Playgroud)
这是内容.有人能够判断它是2.x还是3.x?
$ jar tvf zmq.jar
0 Thu Feb 02 14:59:52 EST 2012 META-INF/
71 Thu Feb 02 14:59:52 EST 2012 META-INF/MANIFEST.MF
2429 Wed Feb 01 14:24:32 EST 2012 org/zeromq/App.class
4320 Tue Jan 24 14:40:32 EST 2012 org/zeromq/EmbeddedLibraryTools.class
2392 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZContext.class
3536 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZFrame.class
920 Tue Jan 24 14:40:32 EST 2012 org/zeromq/ZMQ$Context.class
2401 Tue Jan 24 14:40:32 EST 2012 …Run Code Online (Sandbox Code Playgroud)