我今天在编码并发现了一些东西.如果我打开一个新的解释器会话(IDLE)并检查使用该dir
函数定义的内容,我会得到:
$ python
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BufferError', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'NameError', 'None', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'ReferenceError', 'RuntimeError', 'RuntimeWarning', 'StandardError', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'ZeroDivisionError', '_', '__debug__', '__doc__', '__import__', '__name__', '__package__', 'abs', 'all', 'any', 'apply', 'basestring', 'bin', 'bool', 'buffer', …
Run Code Online (Sandbox Code Playgroud) 我正在开发一个大型python项目,如果.pyc和*〜文件,我真的很生病.我想删除它们.我已经看到-X
git clean 的标志会删除未跟踪的文件.你可以想象,我不是跟踪.pyc
也不是*~
文件.那就是诀窍.问题是我有一个local_settings.py
文件,我想在git clean之后保留.
所以,这就是我所拥有的.
的.gitignore:
*.pyc
*~
local_settings.py
Run Code Online (Sandbox Code Playgroud)
当我执行此命令时:
git clean -X -n -e local_settings.py
Run Code Online (Sandbox Code Playgroud)
我得到这个结果列表:
将删除local_settings.py
将删除requirements.txt~
将删除(其他一堆)〜文件
将删除(其他一堆)pyc文件
我不想删除local_settings.py文件.我已经尝试了很多方法来做到这一点,但我无法弄清楚如何完成它.
git clean -X -n -e local_settings.py
git clean -X -n -e "local_settings.py"
git clean -X -n --exclude=local_settings.py
git clean -X -n --exclude="local_settings.py"
Run Code Online (Sandbox Code Playgroud)
似乎没有任何工作.
编辑:
对于后代,正确的方法是(谢谢@Rifat):
git clean -x -n -e local_settings.py # Shows what would remove (-n flag)
git clean -x -f -e local_settings.py # Removes it (note the -f …
Run Code Online (Sandbox Code Playgroud) 我正在做一些javascript编码,我想知道长度方法是"预先计算",还是由JS引擎记住.
所以,问题是:
如果我经常检查数组长度,并假设我没有更改它(通过闭包使其不可变),我应该预先计算长度方法并将其存储在某个变量中吗?
谢谢!
我需要解析一个URL.我目前正在使用urlparse.urlparse()和urlparse.urlsplit().
问题是,当不存在该方案时,我无法从URL获取"netloc"(主机).我的意思是,如果我有以下网址:
www.amazon.com/Programming-Python-Mark-Lutz/dp/0596158106/ref=sr_1_1?ie=UTF8&qid=1308060974&sr=8-1
我无法获得netloc:www.amazon.com
根据python文档:
遵循RFC 1808中的语法规范,只有在'//'正确引入的情况下,urlparse才会识别netloc.否则,输入被假定为相对URL,因此以路径组件开始.
所以,这是故意的.但是,我仍然不知道如何从该URL获取netloc.
我想我可以检查该方案是否存在,如果不存在,则添加它,然后解析它.但是这个解决方案看起来并不是很好.
你有更好的主意吗?
编辑: 谢谢你的所有答案.但是,我不能做Corey和其他人提出的"startwith"事情.如果我得到一个其他协议/方案的URL我会搞砸了.看到:
如果我得到这个网址:
ftp://something.com
Run Code Online (Sandbox Code Playgroud)
使用提议的代码,我会在开头添加"http://"并将其弄乱.
我发现的解决方案
if not urlparse.urlparse(url).scheme:
url = "http://"+url
return urlparse.urlparse(url)
Run Code Online (Sandbox Code Playgroud)
需要注意的事项:
我先做一些验证,如果没有给出方案,我认为它是http://
就像标题所说,我想使用Guava Collections获得一个线程安全的HashSet.
你能帮助我吗?
谢谢!
我从Scala开始,我发现这有点奇怪.在java中,我可以这样做:
interface Foo{}
public class Bar implements Foo{}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Scala做类似的事情,但它不起作用:
trait Foo;
class Bar with Foo; // This doesn't work!
Run Code Online (Sandbox Code Playgroud)
我必须使用"extends"关键字:
class Bar extends Foo; // This works OK!
Run Code Online (Sandbox Code Playgroud)
现在,它很好,但它不是我想要的.
我注意到的另一件奇怪的事情是,Scala中的每个类都来自AnyRef(请参阅scala-lang.org的图片:http://www.scala-lang.org/sites/default/files/images/classhierarchy.png)我可以做这个:
class Bar extends AnyRef with Foo; // This works too!
Run Code Online (Sandbox Code Playgroud)
那么,我错过了什么?没有延伸它就没有意义使用特征?
谢谢!
我有一些奇怪的查询,所以我必须执行原始SQL.问题是这个查询变得越来越大,并且有许多可选的过滤器(排序,列标准等).
所以,鉴于此查询:
SELECT DISTINCT Camera.* FROM Camera c
INNER JOIN cameras_features fc1 ON c.id = fc1.camera_id AND fc1.feature_id = 1
INNER JOIN cameras_features fc2 ON c.id = fc2.camera_id AND fc2.feature_id = 2
Run Code Online (Sandbox Code Playgroud)
这大致是Python代码:
def get_cameras(features):
query = "SELECT DISTINCT Camera.* FROM Camera c"
i = 1
for f in features:
alias_name = "fc%s" % i
query += "INNER JOIN cameras_features %s ON c.id = %s.camera_id AND %s.feature_id = " % (alias_name,alias_name,alias_name)
query += " %s "
i += …
Run Code Online (Sandbox Code Playgroud) 我很长一段时间以来一直是MySQL的用户.我想开始使用最流行的叉子之间的所有不同的变化.问题是我找不到它们之间的任何好的比较,我最终只会尝试所有这些.我关心的是生产,因为我不会在生产中试验所有这些叉子.
你有没有在生产中运行任何MySQL分支?
有什么好处?有什么缺点?
我正在开发一个广告网站,并希望使用Web服务来处理请求.我的意思是,发布商网站将放置一个JavaScript代码段,它将通过REST GET拉出横幅.
django-piston框架是否足够成熟以实现此功能?
注意:它在生产中起作用.我的意思是,当我上传应用程序时,它的工作效果很好.问题出在开发服务器上.
这里有一些代码可以告诉你我正在尝试做什么:
e = Employee(key_name = 'some_key_name',name='John Bonham')
db.put_async(e)
Run Code Online (Sandbox Code Playgroud)
如果我这样做,并在一段时间后,我试图得到它
e = Employee.get_by_key_name('some_key_name') # e is None
Run Code Online (Sandbox Code Playgroud)
它不起作用.e是没有!但是,如果我这样做:
e = Employee(key_name = 'some_key_name',name='John Bonham')
op = db.put_async(e)
op.get_result()
Run Code Online (Sandbox Code Playgroud)
它工作正常.
我错过了什么?
重要说明:我等待一段时间来检查对象是否已创建!调用put_async后我没有得到.但是,即使一分钟后它仍然无效.我在开发服务器中!
python ×4
django ×2
arrays ×1
collections ×1
drizzle ×1
git ×1
git-clean ×1
guava ×1
hashset ×1
immutability ×1
java ×1
javascript ×1
mariadb ×1
mysql ×1
percona ×1
python-2.7 ×1
python-3.x ×1
rest ×1
scala ×1
traits ×1
url ×1
url-parsing ×1
urlparse ×1
web-services ×1