问题列表 - 第18777页

使用python替换特定行中的字符串

我正在编写一个python脚本来替换具有特定扩展名(.seq)的目录中的每个文本文件中的字符串.替换的字符串应该只来自每个文件的第二行,并且输出是一个新的子目录(称之为干净),其文件名与原始文件相同,但带有*.clean后缀.输出文件包含与原始文本完全相同的文本,但替换了字符串.我需要替换所有这些字符串:'K','Y','W','M','R','S'和'N'.

这是我在谷歌搜索后想出来的.这是非常混乱的(编程的第二周),它停止将文件复制到干净的目录而不替换任何东西.我真的很感激任何帮助.

谢谢!

import os, shutil

os.mkdir('clean')

for file in os.listdir(os.getcwd()):
    if file.find('.seq') != -1:
        shutil.copy(file, 'clean')

os.chdir('clean')

for subdir, dirs, files in os.walk(os.getcwd()):
    for file in files:
        f = open(file, 'r')
        for line in f.read():
            if line.__contains__('>'): #indicator for the first line. the first line always starts with '>'. It's a FASTA file, if you've worked with dna/protein before.
                pass
            else:
                line.replace('M', 'N')
                line.replace('K', 'N')
                line.replace('Y', 'N')
                line.replace('W', 'N')
                line.replace('R', 'N')
                line.replace('S', 'N')
Run Code Online (Sandbox Code Playgroud)

python replace

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

基本的C++内存问题

我的一个朋友宣布使用新类型

typedef GLfloat vec3_t[3];
Run Code Online (Sandbox Code Playgroud)

后来用vec3_t来分配内存

vertices=new vec3_t[num_xyz* num_frames];
Run Code Online (Sandbox Code Playgroud)

他释放了记忆

delete [] vertices;
Run Code Online (Sandbox Code Playgroud)

问题:
1.由于vec3_t是GLfloat [3]的别名,是否意味着

vec3_t[num_xyz* num_frames] 
Run Code Online (Sandbox Code Playgroud)

相当于

GLfloat[3][num_xyz* num_frames];  
Run Code Online (Sandbox Code Playgroud)

2.如果上面是2维数组,那么如何从内存中正确删除?

提前致谢;
来自deo

c++ opengl

12
推荐指数
1
解决办法
626
查看次数

从参考书目页面中删除标题

我使用这个LaTeX代码添加参考书目部分:

\bibliographystyle{plain}
\bibliography{bp}
Run Code Online (Sandbox Code Playgroud)

第一页看起来很好.它包含参考书目标题,没有标题和引用列表.但是,下一页是带有上一节标题的标题.有没有办法删除这个标题?

alt text http://imagebin.ca/img/9u-wk68W.jpg

latex bibtex pdflatex

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

Python的正则表达式源字符串长度

在Python正则表达式中,

re.compile("x"*50000)
Run Code Online (Sandbox Code Playgroud)

给我 OverflowError: regular expression code size limit exceeded

但是下面的一个没有得到任何错误,但它达到了100%的CPU,并在我的电脑上花了1分钟

>>> re.compile(".*?.*?.*?.*?.*?.*?.*?.*?.*?.*?"*50000)
<_sre.SRE_Pattern object at 0x03FB0020>
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?

我应该假设,".*?.*?.*?.*?.*?.*?.*?.*?.*?.*?"*50000比短"x"*50000吗?

在Python 2.6,Win32上测试过

更新1:

看起来".*?.*?.*?.*?.*?.*?.*?.*?.*?.*?"*50000可以减少到.*?

那么,这个怎么样?

re.compile(".*?x"*50000)
Run Code Online (Sandbox Code Playgroud)

它确实编译,如果那个也可以减少到".*?x",它应该匹配字符串"abcx""x"单独,但它不匹配.

那么,我错过了什么吗?

更新2:

我的观点是不知道正则表达式源字符串的最大限制,我想知道"x"*50000溢出处理程序捕获的一些原因/概念,但不是".*?x"*50000.

这对我来说没有意义,这就是原因.

在溢出检查中它是缺少的东西或它只是很好或它真的溢出的东西?

任何提示/意见将不胜感激.

python regex

4
推荐指数
1
解决办法
3352
查看次数

通过显示表单的URL查找SharePoint列表项

有时,用户需要更改SharePoint列表项中不可编辑的信息,例如,以编辑形式隐藏的字段(在我的情况下,它是记录编号).

我决定创建一个小型Windows GUI应用程序,管理员可以在服务器上运行该应用程序并进行所请求的更改.但是,获取SPListItem我发现的实例的最简单方案是:

  • 管理员输入根站点的URL
  • 一个SPSiteojbect创建,使用给定的URL:SPSite oSite=new SPSite(this.txtURL.text);
  • admin输入所需网站的相对URL
  • 一个SPWeb对象被创建为SPWeb oWeb = oSite.OpenWeb(this.txtWebUrl.text);
  • 下拉框中填充了所有列表标题 oWeb.Lists
  • 管理员从列表框中选择一个列表并输入所请求项目的ID;
  • SPListItem找到所需的oWeb.Lists[this.lstAllLists.selectedValue].GetItemById(this.txtItemId.value);

这是一条很长的路径,管理员不喜欢打字,点击和等待.
他们想复制listitem显示表单的URL(从Web浏览器或某人的电子邮件中),将其粘贴到更新工具中,然后只需单击"Find it!"即可.

我需要提示如何做到这一点.

我知道我可能用正则表达式解析URL,因为它通常是以形式http://server/sites/[somesite]/[someweb/somesubweb]/lists/[somelist]/forms/dispform.aspx?ID=[123]存在,但存在变化 - 例如,http://[server]/[DocumentLibrary]/Forms/RenamedDispForm.aspx?ID=[1234]结构与第一个示例完全不同.

所以,问题是 - 是否有一些简单的方法来找到SPListItem它的URL?SPContext从URL 重建一个很好.

编辑:刚刚发现可以SPSite通过传递一个更长的URL 来构造一个有效的对象:

Dim oSite as New SPSite("http://server/sites/site/Lists/test/DispForm.aspx?ID=136")
Run Code Online (Sandbox Code Playgroud)

sharepoint sharepoint-api splistitem

0
推荐指数
1
解决办法
1万
查看次数

如何从php中的循环中获取"随机"项集

我循环一些XML节点,并说我有1到200个这些节点.

如何"随机"选择最多10个这些节点.它必须是十分之一,但只有一个.

这就是我现在正在使用的......

        $i = 0;
        foreach ($butters->users->user as $user) {
            if($i==10) break;
            $id = $user->id;
            $name = $user->screen_name;
            $profimg = $user->profile_image_url;
            echo "things";
            $i++;
        } 
Run Code Online (Sandbox Code Playgroud)

困难在于我不知道我将拥有多少,但是我希望从中选择我的"随机"10的游泳池来自全部,但是很多都存在.

php

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

Android - 捕获/抑制Home和EndCall按钮事件?

如果您曾试图在Android上编写一个更衣室应用程序,请确保您遇到此问题:

boolean mBackPressed = false;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_BACK:
            mBackPressed = true;
            break;
        case KeyEvent.KEYCODE_MENU:
            if (mBackPressed)
                unLock();
            break;
        default:
            mBackPressed = false;
            showMessage();
            break;
        }
    }
    return true;
}

private void showMessage() {
    Toast.makeText(getBaseContext(), "Back + Menu", Toast.LENGTH_SHORT)
            .show();
}

private void unLock() {
    this.setResult(Activity.RESULT_OK);
    this.finish();
}
Run Code Online (Sandbox Code Playgroud)

似乎onKeyDown过滤掉所有键,但"后退"和"菜单"......
嗯,这不是真的!主页按钮仍将为您带来主屏幕,结束通话按钮将运行原生的Locker应用程序!

研究员在那里也声称它是一个问题:
如何从ENDCALL按钮
问题收听Home Back屏幕按钮
按下按键在Activity中按,特别是在选项菜单中
问题4202:功能建议:拦截KEYCODE_CALL的权限

你知道阻止这些按钮的任何解决方法吗?
唯一的方法(经常) - 用C写

android key keydown

0
推荐指数
1
解决办法
8771
查看次数

0
推荐指数
1
解决办法
1755
查看次数

Tomcat没有在Eclipse中关闭

我正在构建一个相对简单的Web应用程序,其中主servlet实现ServletContextListener接口以确定上下文是已启动还是已停止.我实现了我的contextInitialized,contextDestroyed,initdestroy方法(包括initdestroy调用super基类).我目前没有实现任何真正的功能,除了我在contextInitialized加载log4j.properties文件的方法中初始化log4j .

然而,当我从Eclipse中启动和停止Tomcat服务器时,所有内容都以正确的顺序调用(我正在使用一些System.out.println来测试它)但是在停止服务器大约10秒后我会看到一个Eclipse弹出窗口说明下列:

localhost上的服务器Tomcat v6.0服务器没有响应.你想终止这台服务器吗?单击"确定"以终止服务器,或单击"取消"继续等待.

这是我停止服务器时在Eclipse控制台中打印的内容:

04/01/2010 7:39:13 PM org.apache.catalina.core.StandardService stop
INFO:停止服务Catalina
contextDestroyed
04/01/2010 7:39:13 PM org.apache.coyote.http11.Http11Protocol destroy
INFO:在http-8080上停止Coyote HTTP/1.1

在最后INFO一条消息之后,它会挂起,直到出现弹出窗口.如果我选择等待,请按取消,Eclipse变得无法使用,我必须从终端终止Eclipse进程.

任何关于如何解决这个问题的意见将不胜感激.

更新:

问题是由我在我的init方法中启动的非守护程序线程引起的(忘了提到:).通过使用该stop方法显式停止线程解决了该问题,即使该方法似乎已被弃用.

java eclipse tomcat servlets

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

远程访问rails测试服务器

也许我在这里遗漏了一些简单的东西,但是当我运行"ruby script/server"时,我可以通过localhost访问它,但不能远程访问它.有没有什么简单的方法可以远程访问它而无需进行一些花哨的部署?

ruby-on-rails

4
推荐指数
1
解决办法
4291
查看次数