python 脚本在 1 分钟后在终端上停止 运行
python script stops running on terminal after 1 minute
我的 python 脚本遇到了问题。我在我的机器上使用 Ubuntu 作为第二个操作系统,并且我编写了一个 python 代码来输出关于某些蛋白质的不同信息。在给我第一个蛋白质的输出后,它在第二个蛋白质的过程中间减慢了很多,并且在某个时候它不再响应。
当我键入 control+c 时,我收到此消息:
Traceback (most recent call last):
File "testPerf.py", line 185, in <module>
uniqueDict(args.input,args.output)
File "testPerf.py", line 73, in uniqueDict
keyName = '%s_%s' %(hmm[i],cassetteId[i])
File "/home/t/anaconda3/envs/crispr-env/lib/python3.7/site-packages/pandas/core/series.py",
line 1071, in __getitem__
result = self.index.get_value(self, key)
File "/home/t/anaconda3/envs/crispr-env/lib/python3.7/site-packages/pandas/core/indexes>>/base.py", line 4708, in get_value
s = getattr(series, "_values", series)
File "/home/t/anaconda3/envs/crispr-env/lib/python3.7/site-packages/pandas/core/series.py", line 562, in _values
停止时的部分代码如下:
with open(crisprOutputFile, "r") as file1:
data = pd.read_csv(file1)
hmm = data.HMM
cassetteId = data.cassette_id
list1 = data.predicted_label
i = 0
while i < len(hmm):
predictedL = list1[i][7:20]
predictedL = predictedL.replace( ')','')
predictedL = predictedL.replace( ']','')
predictedL = predictedL.replace( "'","")
predictedL = predictedL.replace( ',','')
keyName = '%s_%s' %(hmm[i],cassetteId[i])
if keyName not in dict1:
dict1[keyName] = predictedL
i+=1
这段代码从名为 crisprOutputFile 的文件中读取内容并尝试在字典中输出一些数据,非常简单...
之后,该词典与其他一些词典相结合,以提供包含蛋白质数据的输出词典。
请帮忙。
在给定的代码段中,如果在 dict1
中找到 keyName
,则不会增加 i
。
如果i
保持不变,则本次迭代将与上一次迭代相同,因此将成为无限循环。
如果您实际上打算在每次迭代时更新 i
(这样更有意义),请像这样
降低 i+=1
的集成级别
with open(crisprOutputFile, "r") as file1:
data = pd.read_csv(file1)
hmm = data.HMM
cassetteId = data.cassette_id
list1 = data.predicted_label
i = 0
while i < len(hmm):
predictedL = list1[i][7:20]
predictedL = predictedL.replace( ')','')
predictedL = predictedL.replace( ']','')
predictedL = predictedL.replace( "'","")
predictedL = predictedL.replace( ',','')
keyName = '%s_%s' %(hmm[i],cassetteId[i])
if keyName not in dict1:
dict1[keyName] = predictedL
i+=1
正如评论中@运行-out 所建议的,我建议您使用 for
循环。
我的 python 脚本遇到了问题。我在我的机器上使用 Ubuntu 作为第二个操作系统,并且我编写了一个 python 代码来输出关于某些蛋白质的不同信息。在给我第一个蛋白质的输出后,它在第二个蛋白质的过程中间减慢了很多,并且在某个时候它不再响应。 当我键入 control+c 时,我收到此消息:
Traceback (most recent call last):
File "testPerf.py", line 185, in <module>
uniqueDict(args.input,args.output)
File "testPerf.py", line 73, in uniqueDict
keyName = '%s_%s' %(hmm[i],cassetteId[i])
File "/home/t/anaconda3/envs/crispr-env/lib/python3.7/site-packages/pandas/core/series.py",
line 1071, in __getitem__
result = self.index.get_value(self, key)
File "/home/t/anaconda3/envs/crispr-env/lib/python3.7/site-packages/pandas/core/indexes>>/base.py", line 4708, in get_value
s = getattr(series, "_values", series)
File "/home/t/anaconda3/envs/crispr-env/lib/python3.7/site-packages/pandas/core/series.py", line 562, in _values
停止时的部分代码如下:
with open(crisprOutputFile, "r") as file1:
data = pd.read_csv(file1)
hmm = data.HMM
cassetteId = data.cassette_id
list1 = data.predicted_label
i = 0
while i < len(hmm):
predictedL = list1[i][7:20]
predictedL = predictedL.replace( ')','')
predictedL = predictedL.replace( ']','')
predictedL = predictedL.replace( "'","")
predictedL = predictedL.replace( ',','')
keyName = '%s_%s' %(hmm[i],cassetteId[i])
if keyName not in dict1:
dict1[keyName] = predictedL
i+=1
这段代码从名为 crisprOutputFile 的文件中读取内容并尝试在字典中输出一些数据,非常简单... 之后,该词典与其他一些词典相结合,以提供包含蛋白质数据的输出词典。 请帮忙。
在给定的代码段中,如果在 dict1
中找到 keyName
,则不会增加 i
。
如果i
保持不变,则本次迭代将与上一次迭代相同,因此将成为无限循环。
如果您实际上打算在每次迭代时更新 i
(这样更有意义),请像这样
i+=1
的集成级别
with open(crisprOutputFile, "r") as file1:
data = pd.read_csv(file1)
hmm = data.HMM
cassetteId = data.cassette_id
list1 = data.predicted_label
i = 0
while i < len(hmm):
predictedL = list1[i][7:20]
predictedL = predictedL.replace( ')','')
predictedL = predictedL.replace( ']','')
predictedL = predictedL.replace( "'","")
predictedL = predictedL.replace( ',','')
keyName = '%s_%s' %(hmm[i],cassetteId[i])
if keyName not in dict1:
dict1[keyName] = predictedL
i+=1
正如评论中@运行-out 所建议的,我建议您使用 for
循环。