小编dan*_*iel的帖子

AppleScript as .app不从命令行获取参数

我尝试在AppleScript中处理命令行参数.如果我使用它运行它脚本osascript TestArgs.scpt a.txt b.txt.但是,如果我将脚本保存为.app并从命令行运行它,它不会显示任何参数:open -a TestArgs --args a.txt b.txt不起作用.我也尝试过几种不同的脚本变体而没有成功.

on run argv
    set argc to 0
    try
        set argc to (count of argv)
    end try
    tell application "Finder" to display dialog ("Argument Count: " & argc as string)
end run
Run Code Online (Sandbox Code Playgroud)

似乎问题是OSX 10.8的问题,因为相同的脚本在10.7上按预期工作

我的错误在哪里?

感谢致敬.

macos applescript command-line-arguments

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

使用多个模块进行python日志记录不起作用

我创建了一些Python文件,使我的功能保持分离,以简化工作/修复。所有文件都在一个目录中。该结构可能会分解为以下内容:

  • a.py(具有基本知识的A类)
  • b.py(具有基本知识的B类)
  • modA.py(创建从A和B派生的C类)
  • modB.py(创建从A和B派生的类D)
  • ...
  • main_a.py(使用C类)
  • main_b.py(使用类D)

每个模块都使用python的日志记录。这就是为什么-仅写入根记录器消息。而且我看不到我的错误。

这是一个最小的例子。

a.py

import logging
logger = logging.getLogger(__name__)

class A(object):
    def __init__(self):
        logger.debug("Instance of A")
Run Code Online (Sandbox Code Playgroud)

b.py

import logging
logger = logging.getLogger(__name__)

class B(object):
    def __init__(self):
        logger.debug("Instance of B")
Run Code Online (Sandbox Code Playgroud)

ab.py

import a
import b
import logging
logger = logging.getLogger(__name__)

class AB(a.A, b.B):
    def __init__(self):
        logger.debug("Instance of AB")
        a.A.__init__(self)
        b.B.__init__(self)
Run Code Online (Sandbox Code Playgroud)

main_one.py

import sys
import ab

import logging
import logging.handlers
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler(stream=sys.stderr)
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter('%(name)s: %(message)s'))
logger.addHandler(handler)

logger.warning("The trouble starts")

ab …
Run Code Online (Sandbox Code Playgroud)

python logging

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