- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在编程方面很新,但现在我需要它到一个项目中,所以我在“sos”中学习了一些 python 类(class)。首先:对不起我的英语,但我希望你能理解我。
所以我的任务之一是我有很多文件,其中包含以下内容:一个蛋白质(大约前 56 行)和几个这样开头的 block :“HEADER crosscluster.^^^.^^^.pdb “我必须选择 .pdb 前面的“^^^”大于 016 的那些(我想我可以做这部分)。然后我必须将蛋白质和这些选定的 block 之一复制到一个新文件中,对每个选定的 block 执行此操作。所以一个文件应该只包含蛋白质,1 个 block 以“HEADER crosscluster...pdb”开头。
我没有收到任何错误消息,只是什么也没发生。
所以...脚本 (:$):
#!/usr/bin/python
import os
import sys
import re
def split_file(phrase1, phrase2, my_file):
n = 1
my_list = []
for phrase1, phrase2 in my_file.readlines():
if not re.search(r"(.*)(.pdb)", line):
my_list.append(line)
with open("output"+str(n)+".pdb","w") as out_file:
for item in my_list:
out_file.write(item)
else:
if my_list:
my_list = []
n += 1
my_file.close()
out_file.close()
for dirname, dirnames, filenames in os.walk("/home/georgina/FTmaperedmenyek"):
for filename in filenames:
full_name = str(os.path.join(dirname, filename))
if filename.endswith(".pdb"):
searching = open(full_name, "r")
for line in searching:
pld = "HEADER crosscluster.***.***.pdb"
protein = "HEADER protein"
if pld in line and int(pld[24:27]) > int(016):
split_file(protein, pld, searching)
最佳答案
如果您的代码没有收到任何错误,则意味着函数 - split_file()
- 根本没有被调用,这是因为 -
int(016)
当您在 Python 2.x 中为数字添加前缀 0 时,您将其定义为八进制数。示例 -
>>> int(016)
14
14
是八进制数 0o16
的十进制表示。
你需要做-
int(pld[24:27]) > int(16)
其次,我认为这行不通 - for phrase1, phrase2 in my_file.readlines():
- 如果行数多于或少于 2 行,这将引发错误。
不建议在函数内部迭代时使用.readline()
。为什么?检查这个问题 - Python:Why readline() function doesn't work for file looping
您应该再次遍历该文件,而不是使用 .readlines()
。你应该做 -
for line in my_file:
#If you wanted to check if phrase1 and phrase2 are in the line do the below -
if phrase1 in line and phrase2 in line:
#rest of the logic.
关于Python:将以特定行为边界的 block 复制到新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32189884/
我的 blockly.js 文件中有以下代码 Blockly.Blocks['account_number'] = { // Other type. init: function() {
首先抱歉我的英语不好,我正在开发 Image Splitter 应用程序并且已经完成,但是现在的要求是当图像被分割(分成几 block /chunks)那么图像 block 的每一 block (ch
#value: 消息的返回值,当发送到一个 block 时,是该 block 中最后一句话的值。所以 [ 1 + 2. 3 + 4. ] value 计算结果为 7。我发现有时很难使用。有没有办法显式
我想构建一个包含 3 div 的响应式导航栏相同的 width和 height . 我申请了 inline-block到每个 block ,我得到一个我不理解的行为。 问题是,第三 block 由 2
我希望使用 Blockly 来允许非技术人员用户指定测试脚本。 它的一部分需要一个文件选择器,但是,我看不到 Blockly 有一个。是吗? 实际上,我找不到完整的标准 block 列表。谁有网址?
仅当您位于父 block 内部时,父 block 的 props.isSelected 才为 true,但当您在该 block 的 innerBlocks 内进行编辑时则不然。 如何从父 block
仅当您位于父 block 内部时,父 block 的 props.isSelected 才为 true,但当您在该 block 的 innerBlocks 内进行编辑时则不然。 如何从父 block
我想创建一个具有不同背景颜色 block 和不同悬停颜色 block 的导航栏 block 。我可以分别创建不同的悬停颜色 block 或不同的背景颜色 block ,但不能一起创建。所以请告诉我如何
我正在使用看到的代码 here定期执行代码: #define DELAY_IN_MS 1000 __block dispatch_time_t next = dispatch_time(DISPATC
为什么 block 必须被复制而不是保留?两者在引擎盖下有什么区别?在什么情况下不需要复制 block (如果有)? 最佳答案 通常,当您分配一个类的实例时,它会进入堆并一直存在,直到它被释放。但是,
我想弄清楚我这样做是否正确: 如果我有一个 block ,我会这样做: __weak MyClass *weakSelf = self; [self performBlock:^{
我想制作一个 4 block 导航菜单,虽然我已经显示了一个 block ,然后单击打开第二个 block ,从第二个开始选择并再次单击出现第三个 block ,第四个 block 相同...这是我的
例如,这样更好吗? try { synchronized (bean) { // Write something } } catch (Int
我想让一只乌龟检查前方小块的颜色并决定移动到哪里。如果前面的补丁不是白色的,那么乌龟向左或向右旋转并移动。我的 If 决策结构中出现错误,显示“此处应为 TRUE?FALSE,而不是 block 列表
我想创建一个 block 对角矩阵,其中对角 block 重复一定次数,非对角 block 都是零矩阵。例如,假设我们从一个矩阵开始: > diag.matrix [,1] [,2] [
我是区 block 链新手。突然我有一个问题,我们是否可以通过区 block 号来访问以太坊区 block 链上之前的区 block 数据。 例如我创建了一个block1、block2。 block
我是区 block 链新手。突然我有一个问题,我们是否可以通过区 block 号来访问以太坊区 block 链上之前的区 block 数据。 例如我创建了一个block1、block2。 block
我创建了一个等距环境,全部使用 Javascript 和 HTML5 (2D Canvas),大部分情况下工作正常。我面临的问题是使用不同高度的图 block ,然后对图 block 上的对象索引进行
这是令我困惑的代码: public Integer getInteger(BlockingQueue queue) { boolean interrupted = false; try
我有一个基于 TPL 数据流的应用程序,它仅使用批处理 block 和操作 block 就可以正常工作。 我已经添加了一个 TransformBlock 以尝试在发布到批处理 block 之前从源中转
我是一名优秀的程序员,十分优秀!