我读了许多比较编程语言的文章.
通常会有一个词:可扩展性.我实际上试图寻找一个简单明了的解释,但还没有找到它.
你能解释一下可扩展性意味着什么吗?
谢谢.
我有一个包含版本字符串的列表,例如:
versions_list = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
Run Code Online (Sandbox Code Playgroud)
我想对它进行排序,结果将是这样的:
versions_list = ["1.0.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
Run Code Online (Sandbox Code Playgroud)
数字的优先顺序显然应该是从左到右,它应该是降序.所以1.2.3来之前2.2.3和2.2.2之前2.2.3.
我如何在Python中执行此操作?
首先,我将Windows CMD编码更改为utf-8并运行Python解释器:
chcp 65001
python
Run Code Online (Sandbox Code Playgroud)
然后我尝试在其中打印一个unicode sting,当我这样做时,Python以一种特殊的方式崩溃(我只是在同一个窗口中得到一个cmd提示符).
>>> import sys
>>> print u'ëèæîð'.encode(sys.stdin.encoding)
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会发生以及如何使它工作?
UPD:sys.stdin.encoding退货'cp65001'
UPD2:我刚才发现这个问题可能与utf-8使用多字节字符集这一事实有关(kcwu就此提出了一个很好的观点).我尝试使用'windows-1250'运行整个示例并得到'ëea?'.Windows-1250使用单字符集,因此它适用于它理解的字符.但是我仍然不知道如何让'utf-8'在这里工作.
UPD3:哦,我发现它是一个已知的Python bug.我想会发生的事情是Python将cmd编码复制为'cp65001到sys.stdin.encoding并尝试将其应用于所有输入.由于它无法理解'cp65001',因此它会在包含非ascii字符的任何输入上崩溃.
我想知道是否有办法提前检查我可能通过下载的文件的大小wget?我知道使用该--spider选项告诉我文件是否存在,但我也有兴趣找到该文件的大小.
是否可以使用shell脚本设置屏幕标题?
我想过发送关键命令ctrl+ A shift-A Name enter
我搜索了大约一个小时的关于如何模拟shell脚本中的击键,但没有找到答案.
我没有找到Mac的查找没有-printf选项的原因.Apple通常决定采取与其他命令不正交的选项吗?
如何在没有coreutils的Mac中获得与以下命令相同的结果?
find . -printf "%i \n" // command in Ubuntu
Run Code Online (Sandbox Code Playgroud) 我想从另一个ipython-notebook导入一个func.说,
common_func.ipnb 具有 def func_a()
当我创建一个新笔记本时,如何func_a从另一个笔记本中访问哪个笔记本,但是在同一个文件夹和相同的ipython实例中?
谢谢!
有什么聪明的方法可以通过ssh在远程主机上运行本地Bash功能吗?
例如:
#!/bin/bash
#Definition of the function
f () { ls -l; }
#I want to use the function locally
f
#Execution of the function on the remote machine.
ssh user@host f
#Reuse of the same function on another machine.
ssh user@host2 f
Run Code Online (Sandbox Code Playgroud)
是的,我知道它不起作用,但有没有办法实现这一目标?
在古巴,网络访问受到极大的审查,因此我创建了一个工具,允许超过50,000人通过电子邮件浏览互联网.古巴人给我发了一封主题行中带有URL的电子邮件,然后我通过回复给他们发回电子邮件.欲了解更多信息,请访问https://apretaste.com.
在古巴共产党政府开始封锁我的电子邮件之前,它的工作就像一个魅力.我的解决方案是轮换.
我从Amazon SES开始,每次被阻止时我都在更改域名,但亚马逊为所有电子邮件添加了标题,一旦他们阻止了标题,SES的电子邮件就不再能够到达古巴了.Mailgun和其他人也是如此,他们都添加了标题.
目前我正在创建Gmail帐户并通过SMTP发送,但Google无缘无故阻止我,并且每个帐户每天只能发送100封电子邮件.此外,我只能使用相同的IP地址/电话创建几封电子邮件,因此我被迫使用匿名代理和假中文手机.现在我在两条战线上打一场战争.
电子邮件可以通过三个参数阻止:IP地址,域和电子邮件地址.
如果我可以在自动旋转IP地址的VPS上设置我自己的Postfix服务器,那将是非常棒的.如果我可以模拟"gmail.com",以避免每天购买新域名,那就更好了.
创建我称之为"最终发件人"的所有意图只是到达垃圾邮件文件夹或添加不需要的标题,使其太容易阻止.我感到筋疲力尽.我在这里遇到了知识障碍.
我知道我正在走向黑暗的一面,但这是一个非常好的事业.成千上万的人将这项服务视为无偏见的新闻,社交网络的唯一来源,并感受到21世纪的一部分.
你能帮我实现"最终发送者",还是指出我可能缺少的另一种解决方案?
我必须合并python字典列表.例如:
dicts[0] = {'a':1, 'b':2, 'c':3}
dicts[1] = {'a':1, 'd':2, 'c':'foo'}
dicts[2] = {'e':57,'c':3}
super_dict = {'a':[1], 'b':[2], 'c':[3,'foo'], 'd':[2], 'e':[57]}
Run Code Online (Sandbox Code Playgroud)
我写了以下代码:
super_dict = {}
for d in dicts:
for k, v in d.items():
if super_dict.get(k) is None:
super_dict[k] = []
if v not in super_dict.get(k):
super_dict[k].append(v)
Run Code Online (Sandbox Code Playgroud)
它可以更优雅/优化呈现吗?
注意 我在SO上发现了另一个问题,但它关于合并2个字典.