我正在用Python编写一个应用程序,它将具有许多不同的功能,所以逻辑上我认为最好将我的脚本分成不同的模块.目前我的脚本读入一个文本文件,其中包含已转换为标记和拼写的代码.然后,该脚本将代码重建为一个字符串,其中的空行将在原始代码中显示注释.
我遇到了使脚本面向对象的问题.无论我尝试什么,我似乎无法让程序以与它只是一个脚本文件相同的方式运行.理想情况下,我想要有两个脚本文件,一个包含清理和重建文件的类和函数.第二个脚本只是从命令行中作为参数给出的文件中的另一个文件中的类调用该函数.这是我目前的脚本:
import sys
tokenList = open(sys.argv[1], 'r')
cleanedInput = ''
prevLine = 0
for line in tokenList:
if line.startswith('LINE:'):
lineNo = int(line.split(':', 1)[1].strip())
diff = lineNo - prevLine - 1
if diff == 0:
cleanedInput += '\n'
if diff == 1:
cleanedInput += '\n\n'
else:
cleanedInput += '\n' * diff
prevLine = lineNo
continue
cleanedLine = line.split(':', 1)[1].strip()
cleanedInput += cleanedLine + ' '
print cleanedInput
Run Code Online (Sandbox Code Playgroud)
按照下面的Alex Martelli建议后,我现在有以下代码,它给出了与原始代码相同的输出.
def main():
tokenList = open(sys.argv[1], 'r')
cleanedInput = []
prevLine = …Run Code Online (Sandbox Code Playgroud) 我正在构建一个名为C--(不是实际的C语言)的虚构编程语言的解析器.我已经到了需要将语言的语法翻译成Pyparsing可以接受的东西的阶段.不幸的是,当我来解析我的输入字符串(这是正确的,不应该导致Pyparsing错误)时,它没有正确解析.我担心这是由于我的语法错误,但是当我第一次开始Pyparsing时,我似乎无法看到我出错的地方.
我上传我是从翻译语法这里的人们有一个读通过.
编辑:更新了保罗的建议.
这是我目前得到的语法(我知道,语法定义的两个顶线对我来说非常糟糕):
# Lexical structure definition
ifS = Keyword('if')
elseS = Keyword('else')
whileS = Keyword('while')
returnS = Keyword('return')
intVar = Keyword('int')
voidKeyword = Keyword('void')
sumdiff = Literal('+') | Literal('-')
prodquot = Literal('*') | Literal('/')
relation = Literal('<=') | Literal('<') | Literal('==') | \
Literal('!=') | Literal('>') | Literal('=>')
lbrace = Literal('{')
rbrace = Literal('}')
lparn = Literal('(')
rparn = Literal(')')
semi = Literal(';')
comma = Literal(',')
number = Word(nums)
identifier = Word(alphas, alphanums)
# Syntax …Run Code Online (Sandbox Code Playgroud) 嘿伙计们,这是我在Stack Overflow上的第一个问题,我想知道我是否可以向那些比我更了解Python和Parser Generators的人提出建议.
我被赋予了一个任务,我必须为一个简单的类C语言创建一个解析器.我可以使用任何编程语言和工具,我希望创建解析器,但我同时学习Python,所以这将是我的首选.
我的Parser必须遵循一些限制.首先,它必须能够读入包含以下信息的文本文件:
kind1 : spelling1
kind2 : spelling2
kind3 : spelling3
.
.
.
kindn : spellingn
Run Code Online (Sandbox Code Playgroud)
每种类型和拼写都指代语言的标记类型和值.该文件是通过语言的词法分析器放置代码示例的结果.
其次,我必须能够自定义解析器的输出.理想情况下,我想输出一个已将类型:拼写列表转换为另一个令牌序列的文件,这些令牌将传递给语言的编译器以转换为MIPS汇编代码.这是我希望解析器能够生成的那种事情的一个小例子:
%function int test
%variable int x
%variable int y
%begin
%if %id y , %id x > %do
%begin
%return %num 0
%end
%return %num 1
%end
Run Code Online (Sandbox Code Playgroud)
如果有人可以就现有的Python解析器生成器提供建议,并且如果我能够在上面的示例中实现我正在寻找的那种东西,那将是一个很大的帮助.
我正在创建一个Android应用程序,它使用用户捕获的图像作为更大进程的一部分.到目前为止,我的XML布局在RelativeLayout中有一个SurfaceView和Button.我已经成功地将相机预览显示在SurfaceView上,但我仍然坚持如何拍照并在用户按下按钮时将其保存.
我的类文件看起来像CameraPreview API演示:http: //developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html
理想情况下,当按下按钮时,相机应自动对焦,拍照(带有咔哒声),将其保存到/data/data/app_package_structure/files/file_name.jpg,然后弹出Toast告诉用户他们的图像已保存.
任何帮助深表感谢 :)
我正在为Android开发一个增强现实应用程序,它使用手机的相机来识别魔方的每个面上的彩色方块的排列.
我不确定的一件事是我将如何检测和识别立方体每个面上的彩色方块.如果你看一下魔方,你可以看到每个方格都是六种颜色中的一种,带有黑色的薄边框.这让我认为应该相对简单地检测一个正方形,可能使用现有的标记检测API.
![]()
我的问题是,这里有没有人有图像识别和Android的经验?理想情况下,我希望能够实现和现有的API,但如果有人能指出我正确的方向开始,这将是一个有趣的项目.
提前谢谢了.
android image-processing computer-vision augmented-reality rubiks-cube
作为我正在为Android开发的应用程序的一部分,我想向用户展示他们拍摄的图像的边缘检测版本(类似于下面的示例).
为实现这一目标,我一直在研究Sobel运算符以及如何在Java中实现它.但是,我发现的许多示例都使用AWT中的对象和方法(如本例所示),而不是Android的一部分.
那么我的问题是,Android是否提供了上述示例中使用的AWT功能的替代方案?如果我们仅使用Android内置的库重写该示例,我们将如何进行呢?
为了好玩,我一直在研究如何使用GD库从图像创建调色板.到目前为止,我已经使用GD将用户上传的图像调整为适当的大小,以便在网页上显示.
现在,我希望能够从图像中获得大约五种左右的颜色,这些颜色代表了颜色范围.一旦我完成了这项工作,我想根据这些颜色生成一个补充调色板,然后我可以使用它来为页面上的不同元素着色.
我可以获得有关如何找到初始调色板的任何帮助将非常感谢!
编辑: 我来自我自己的解决方案,你可以在下面看到.
我主要是一个CSS和HTML人,但我最近冒险进入PHP.
我不明白为什么这个脚本会挂起:
$loop_Until = 10;
while($i < $loop_Until)
{
// do some code here
$loop_Until = $loop_Until + 1;
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?