touch是一个Unix实用程序,它将文件的修改和访问时间设置为当前时间.如果该文件不存在,则使用默认权限创建该文件.
你如何将它作为Python函数实现?尝试跨平台和完整.
(目前Google搜索"python touch file"的结果并不是那么好,但是指向os.utime.)
使用"隐式"流程,客户端(可能是浏览器)将在资源所有者(即用户)提供访问权限后获得访问令牌.
但是,通过"授权代码"流程,客户端(通常是Web服务器)仅在资源所有者(即用户)授予访问权限后才获取授权代码.使用该授权代码,客户端再次调用API,将client_id和client_secret与授权代码一起传递,以获取访问令牌.这里描述的都很好.
两个流都具有完全相同的结果:访问令牌.但是,"隐式"流程要简单得多.
问题:当"隐式"流程接缝没问题时,为什么要打扰"授权代码"流程呢?为什么不对webserver使用"Implicit"?
这对提供商和客户来说都是更多的工作.
假设我有一个ArrayList
ArrayList<MyClass> myList;
Run Code Online (Sandbox Code Playgroud)
我想打电话给阿瑞,是否有使用性能的原因
MyClass[] arr = myList.toArray(new MyClass[myList.size()]);
Run Code Online (Sandbox Code Playgroud)
过度
MyClass[] arr = myList.toArray(new MyClass[0]);
Run Code Online (Sandbox Code Playgroud)
?
我更喜欢第二种风格,因为它不那么冗长,我认为编译器会确保空数组不会真正被创建,但我一直想知道这是不是真的.
当然,在99%的情况下,它不会以某种方式产生影响,但我希望在我的普通代码和优化的内部循环之间保持一致的风格......
默认情况下,MySQL ResultSet会在完成任何工作之前从服务器中完全检索.在巨大的结果集的情况下,这变得无法使用.我希望实际上从服务器中逐个检索行.
在Java中,按照这里的说明(在"ResultSet"下),我创建一个这样的语句:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);
Run Code Online (Sandbox Code Playgroud)
这在Java中很有效.我的问题是:有没有办法在python中做同样的事情?
我试过的一件事是一次将查询限制为1000行,如下所示:
start_row = 0
while True:
cursor = conn.cursor()
cursor.execute("SELECT item FROM items LIMIT %d,1000" % start_row)
rows = cursor.fetchall()
if not rows:
break
start_row += 1000
# Do something with rows...
Run Code Online (Sandbox Code Playgroud)
但是,较高的start_row似乎会变慢.
不,使用fetchone()而fetchall()不是改变任何东西.
我用来重现这个问题的天真代码如下所示:
import MySQLdb
conn = MySQLdb.connect(user="user", passwd="password", db="mydb")
cur = conn.cursor()
print "Executing query"
cur.execute("SELECT * FROM bigtable");
print "Starting loop"
row = cur.fetchone()
while row is not None:
print …Run Code Online (Sandbox Code Playgroud) (已经解决了,我正在为下一个人写这个)
我在一台计算机上运行git守护程序并尝试与另一台计算机同步.
在计算机A上,我跑了:
git daemon --reuseaddr --base-path=. --export-all --verbose
Run Code Online (Sandbox Code Playgroud)
在电脑B上,我跑了:
git clone git://computerA/.git source # worked
cd source
git pull # worked
git push # failed with "fatal: The remote end hung up unexpectedly"
Run Code Online (Sandbox Code Playgroud)
在计算机A上,守护程序输出为:
[5596] Connection from 127.0.0.1:2476
[5596] Extended attributes (16 bytes) exist <host=localhost>
[5596] Request receive-pack for '/.git'
[5596] 'receive-pack': service not enabled for './.git'
[5444] [5596] Disconnected (with error)
Run Code Online (Sandbox Code Playgroud)
我要发布我发现的灵魂.如果您有更完整的答案,请继续添加.
JDK的String.trim()方法很幼稚,只删除ascii控制字符.
Apache Commons的StringUtils.strip()略胜一筹,但使用的是JDK的Character.isWhitespace(),它不会将不间断的空格识别为空格.
那么在Java中修剪字符串的最完整,Unicode兼容,安全和正确的方法是什么?
顺便说一句,是否有比commons-lang我应该使用的更好的库?
有没有办法确定给定正则表达式中有多少个捕获组?
我希望能够做到以下几点:
def groups(regexp, s):
""" Returns the first result of re.findall, or an empty default
>>> groups(r'(\d)(\d)(\d)', '123')
('1', '2', '3')
>>> groups(r'(\d)(\d)(\d)', 'abc')
('', '', '')
"""
import re
m = re.search(regexp, s)
if m:
return m.groups()
return ('',) * num_of_groups(regexp)
Run Code Online (Sandbox Code Playgroud)
这允许我做的事情:
first, last, phone = groups(r'(\w+) (\w+) ([\d\-]+)', 'John Doe 555-3456')
Run Code Online (Sandbox Code Playgroud)
但是,我不知道如何实施num_of_groups.(目前我只是解决它.)
编辑:按照rslite的建议,我换成re.findall了re.search.
sre_parse 看起来像是最强大和最全面的解决方案,但需要树遍历并且看起来有点沉重.
MizardX的正则表达似乎覆盖了所有基础,所以我将继续使用它.
这种情况之一我觉得我错过了一个关键的关键词来找到谷歌的答案......
我有一包参数,我想让浏览器导航到带参数的GET URL.作为一个jQuery用户,我知道如果我想发一个ajax请求,我会这样做:
$.getJSON(url, params, fn_handle_result);
Run Code Online (Sandbox Code Playgroud)
但有时我不想使用ajax.我只想提交参数并返回页面.
现在,我知道我可以循环参数并手动构建GET URL.对于POST,我可以动态创建表单,用字段填充并提交.但是我确定有人已经编写了一个插件来执行此操作.或许我错过了一些东西,你可以用核心jQuery来做.
那么,有人知道这样的插件吗?
编辑:基本上,我想要的是写:
$.goTo(url, params);
Run Code Online (Sandbox Code Playgroud)
并且可选
$.goTo(url, params, "POST");
Run Code Online (Sandbox Code Playgroud) java ×3
python ×3
coding-style ×1
debugging ×1
git ×1
heap ×1
javascript ×1
jmap ×1
jquery ×1
jvm ×1
memory-leaks ×1
mysql ×1
oauth ×1
oauth-2.0 ×1
performance ×1
regex ×1
string ×1
unicode ×1
utility ×1