我有一个Python脚本导入一个大的CSV文件,然后计算文件中每个单词的出现次数,然后将计数导出到另一个CSV文件.
但正在发生的事情是,一旦计数部分完成并且出口开始,它就会Killed在终点中说明.
我不认为这是一个内存问题(如果我认为我会得到内存错误而不是Killed).
难道这个过程花了太长时间?如果是这样,有没有办法延长超时时间,所以我可以避免这种情况?
这是代码:
csv.field_size_limit(sys.maxsize)
counter={}
with open("/home/alex/Documents/version2/cooccur_list.csv",'rb') as file_name:
reader=csv.reader(file_name)
for row in reader:
if len(row)>1:
pair=row[0]+' '+row[1]
if pair in counter:
counter[pair]+=1
else:
counter[pair]=1
print 'finished counting'
writer = csv.writer(open('/home/alex/Documents/version2/dict.csv', 'wb'))
for key, value in counter.items():
writer.writerow([key, value])
Run Code Online (Sandbox Code Playgroud)
而且Killed发生后finished counting已打印,以及完整的信息是:
killed (program exited with code: 137)
Run Code Online (Sandbox Code Playgroud) 我试图从网站下载PDF文件并将其保存到磁盘.我的尝试要么失败,要么编码错误,要么导致空白PDF.
In [1]: import requests
In [2]: url = 'http://www.hrecos.org//images/Data/forweb/HRTVBSH.Metadata.pdf'
In [3]: response = requests.get(url)
In [4]: with open('/tmp/metadata.pdf', 'wb') as f:
...: f.write(response.text)
---------------------------------------------------------------------------
UnicodeEncodeError Traceback (most recent call last)
<ipython-input-4-4be915a4f032> in <module>()
1 with open('/tmp/metadata.pdf', 'wb') as f:
----> 2 f.write(response.text)
3
UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-14: ordinal not in range(128)
In [5]: import codecs
In [6]: with codecs.open('/tmp/metadata.pdf', 'wb', encoding='utf8') as f:
...: f.write(response.text)
...:
Run Code Online (Sandbox Code Playgroud)
我知道这是某种编解码器问题,但我似乎无法让它工作.
我收到一个奇怪的错误:'Could not find a storyboard named 'Main' in bundle NSBundle'试图在真正的iOS设备上运行我的应用程序.
我在我的目录中有文件,它在模拟器中工作正常.但是,在该Copy Bundle Resources部分中,文件Main.storyboard为红色.
我已经尝试删除它并再次添加它,重新启动Xcode,清理构建等,但无济于事.这是我在Xcode中收到的警告:
/Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard: Internationalization of /Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard is not available when compiling for targets before iOS 6.0
Run Code Online (Sandbox Code Playgroud) 我试图捕获一个字母在一个字符串中出现两次使用RegEx(或者可能有更好的方法?),例如我的字符串是:
ugknbfddgicrmopn
Run Code Online (Sandbox Code Playgroud)
输出将是:
dd
Run Code Online (Sandbox Code Playgroud)
但是,我尝试过类似的东西:
re.findall('[a-z]{2}', 'ugknbfddgicrmopn')
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,它返回:
['ug', 'kn', 'bf', 'dd', 'gi', 'cr', 'mo', 'pn'] # the except output is `['dd']`
Run Code Online (Sandbox Code Playgroud)
我也有办法获得期望输出:
>>> l = []
>>> tmp = None
>>> for i in 'ugknbfddgicrmopn':
... if tmp != i:
... tmp = i
... continue
... l.append(i*2)
...
...
>>> l
['dd']
>>>
Run Code Online (Sandbox Code Playgroud)
但那太复杂了......
如果是'abbbcppq',那么只抓住:
abbbcppq
^^ ^^
Run Code Online (Sandbox Code Playgroud)
所以输出是:
['bb', 'pp']
Run Code Online (Sandbox Code Playgroud)
然后,如果是的话'abbbbcppq',抓bb两次:
abbbbcppq
^^^^ ^^
Run Code Online (Sandbox Code Playgroud)
所以输出是:
['bb', 'bb', 'pp']
Run Code Online (Sandbox Code Playgroud) 我正在尝试用LaTeX写一篇简短的论文,需要添加一个包含3列的表格.
+-------------+-----------------+--------------------------------------+
| AAAAAAAAAA | BBBBBBBBBBBBBBB | Betty Botter Bought a Bit of Butter |
| | | but the Butter's Bitter |
+-------------+-----------------+--------------------------------------+
| CCCCCCCC | DDDD | Betty Botter Thought: |
| | | If I Put This Bitter Butter in My |
| | | Batter it Will Make My Batter Bitter |
+-------------+-----------------+--------------------------------------+
Run Code Online (Sandbox Code Playgroud)
不幸的是,我似乎无法找到正确的习惯用法.
我试过了:
\begin{tabular}{lll}
AAAAAAAAAA & BBBBBBBBBBBBBBB & Betty Botter Bought a Bit of Butter but
the Butter's Bitter \\
CCCCCCCC & DDDD & …Run Code Online (Sandbox Code Playgroud) 我正在编写一个小部件,只要用户更改振铃器音量或振动设置,就需要更新.
捕获android.media.VIBRATE_SETTING_CHANGED对于振动设置工作得很好,但我没有找到任何方式在铃声音量变化时得到通知,虽然我可以尝试捕捉当用户按下音量增大/音量减小物理键时,还有很多其他选项在不使用这些键的情况下更改音量.
你知道是否有任何广播行动为此定义或以任何方式创建一个或没有它解决问题?
我正在寻找通过 Java中的Oauth实现一个获得Twitter授权的应用程序.第一步是获取请求令牌.这是app引擎的Python示例.
为了测试我的代码,我正在运行Python并使用Java检查输出.以下是Python生成基于哈希的消息验证代码(HMAC)的示例:
#!/usr/bin/python
from hashlib import sha1
from hmac import new as hmac
key = "qnscAdgRlkIhAUPY44oiexBKtQbGY0orf7OV1I50"
message = "foo"
print "%s" % hmac(key, message, sha1).digest().encode('base64')[:-1]
Run Code Online (Sandbox Code Playgroud)
输出:
$ ./foo.py
+3h2gpjf4xcynjCGU5lbdMBwGOc=
Run Code Online (Sandbox Code Playgroud)
如何在Java中复制此示例?
try {
// Generate a key for the HMAC-MD5 keyed-hashing algorithm; see RFC 2104
// In practice, you would save this key.
KeyGenerator keyGen = KeyGenerator.getInstance("HmacMD5");
SecretKey key = keyGen.generateKey();
// Create a MAC object …Run Code Online (Sandbox Code Playgroud) if len(trashed_files) == 0 :
print "No files trashed from current dir ('%s')" % os.path.realpath(os.curdir)
else :
index=raw_input("What file to restore [0..%d]: " % (len(trashed_files)-1))
if index == "*" :
for tfile in trashed_files :
try:
tfile.restore()
except IOError, e:
import sys
print >> sys.stderr, str(e)
sys.exit(1)
elif index == "" :
print "Exiting"
else :
index = int(index)
try:
trashed_files[index].restore()
except IOError, e:
import sys
print >> sys.stderr, str(e)
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
我正进入(状态:
elif index == "" :
^
IndentationError: expected …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
[x ** 2 for x in range(10)]
Run Code Online (Sandbox Code Playgroud)
当我在Python Shell中运行它时,它返回:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Run Code Online (Sandbox Code Playgroud)
我搜索过,似乎这被称为列表理解,但它是如何工作的?
我需要在Python中做同样的事情:
for (i = 0; i < 5; i++) {cout << i;}
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在Python中使用FOR来获取列表中元素的索引.