小编Pau*_*McG的帖子

升级SQL Server 6.5

是的我知道.SQL Server 6.52008年运行的副本的存在是荒谬的.

这规定,什么是从迁移的最佳方式6.52005?有没有直接的路径?我发现的大多数文档都涉及升级6.57.

我是否应该忘记本机SQL Server升级实用程序,编写所有对象和数据的脚本,并尝试从头开始重新创建?

本周末我打算尝试升级,但服务器问题将它推回到下一个周末.因此,在本周的过程中,任何想法都会受到欢迎.

更新.这就是我最终做到的方式:

  • 备份有问题的数据库和Master 6.5.
  • 执行SQL Server 2000instcat.sql6.5的主.这允许SQL Server 2000OLEDB提供商连接6.5.
  • 使用SQL Server 2000独立"Import and Export Data"创建DTS包,OLEDB用于连接到6.5.这成功地将所有6.5表复制到新2005数据库(也使用OLEDB).
  • 使用6.5的企业管理器将所有数据库的索引和触发器编写为.sql文件的脚本.
  • 在2005年的Management Studio中对该数据库的新副本执行该.sql文件.
  • 使用6.5的企业管理器来编写所有存储过程的脚本.
  • .sql2005数据库执行该文件.几十个sprocs有问题使它们不相容2005.主要non-ANSI joinsquoted identifier issues.
  • 更正了所有这些问题并重新执行了该.sql文件.
  • 重新创建6.5 …

sql-server migration

35
推荐指数
2
解决办法
3764
查看次数

lambda vs. operator.attrgetter('xxx')作为Python中的排序键函数

我正在看一些使用比较函数进行大量排序调用的代码,看起来应该使用关键函数.

如果你要改变seq.sort(lambda x,y: cmp(x.xxx, y.xxx)),这是更好的:

seq.sort(key=operator.attrgetter('xxx'))
Run Code Online (Sandbox Code Playgroud)

要么:

seq.sort(key=lambda a:a.xxx)
Run Code Online (Sandbox Code Playgroud)

我也有兴趣评论对现有代码进行更改的优点.

python lambda

28
推荐指数
3
解决办法
4985
查看次数

为什么'\ x'在Python中无效?

我正在尝试'\'字符,使用'\ a\b\c ...'只是为了自己枚举哪些字符Python解释为控制字符,以及什么.这是我发现的:

\a - BELL
\b - BACKSPACE
\f - FORMFEED
\n - LINEFEED
\r - RETURN
\t - TAB
\v - VERTICAL TAB
Run Code Online (Sandbox Code Playgroud)

我尝试的大多数其他字符,'\ g','\ s'等只是评估反斜杠和给定字符的2个字符的字符串.我明白这是故意的,对我来说很有道理.

但'\ x'是一个问题.当我的脚本到达此源代码行时:

val = "\x"
Run Code Online (Sandbox Code Playgroud)

我明白了:

ValueError: invalid \x escape
Run Code Online (Sandbox Code Playgroud)

'\ x'有什么特别之处?为什么它与其他非转义字符的处理方式不同?

python string ascii control-characters backslash

24
推荐指数
3
解决办法
3万
查看次数

没有lambda表达式的python排序

我经常使用lambda表达式在Python中进行排序,虽然它工作正常,但我觉得它不是很易读,并希望有更好的方法.这是我的典型用例.

我有一个数字列表,例如, x = [12, 101, 4, 56, ...]

我有一个单独的索引列表: y = range(len(x))

我想y根据值中的值排序x,我这样做:

y.sort(key=lambda a: x[a])
Run Code Online (Sandbox Code Playgroud)

有没有使用lambda这样做的好方法?

python sorting lambda

7
推荐指数
3
解决办法
2553
查看次数

SQLAlchemy:尝试保存非唯一值后重新保存模型的唯一字段

在我的SQLAlchemy应用程序中,我有以下模型:

from sqlalchemy import Column, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import scoped_session, sessionmaker
from zope.sqlalchemy import ZopeTransactionExtension

DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))

class MyModel(declarative_base()):
    # ...
    label = Column(String(20), unique=True)

    def save(self, force=False):
        DBSession.add(self)
        if force:
            DBSession.flush()
Run Code Online (Sandbox Code Playgroud)

稍后MyModel我想要label随机生成的每个新对象的代码,如果生成的值已经存在于DB中,则只重新生成它.
我正在尝试执行以下操作:

# my_model is an object of MyModel
while True:
    my_model.label = generate_label()
    try:
        my_model.save(force=True)
    except IntegrityError:
        # label is not unique - will do one more iteration
        # (*)
        pass
    else:
        # my_model saved successfully - exit …
Run Code Online (Sandbox Code Playgroud)

python database sqlalchemy

7
推荐指数
1
解决办法
5437
查看次数

如何按照声明的顺序运行单元测试测试用例

我完全意识到单元测试的顺序应该无关紧要。但是这些单元测试与实际单元测试一样多用于教学,所以我希望测试输出与测试用例源代码相匹配。

我看到有一种方法可以通过sortTestMethodsUsing在测试加载器上设置属性来设置排序顺序。默认值是cmp()对名称进行词法比较的简单调用。因此,我尝试编写一个cmp-like 函数,该函数将采用两个名称,找到它们的声明行号并返回它们的 -cmp()等效项:

import unittest

class TestCaseB(unittest.TestCase):
    def test(self):
        print("running test case B")

class TestCaseA(unittest.TestCase):
    def test(self):
        print("running test case A")

import inspect
def get_decl_line_no(cls_name):
    cls = globals()[cls_name]
    return inspect.getsourcelines(cls)[1]

def sgn(x):
    return -1 if x < 0 else 1 if x > 0 else 0

def cmp_class_names_by_decl_order(cls_a, cls_b):
    a = get_decl_line_no(cls_a)
    b = get_decl_line_no(cls_b)
    return sgn(a - b)

unittest.defaultTestLoader.sortTestMethodsUsing = cmp_class_names_by_decl_order
unittest.main()
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我得到这个输出:

running test case A
.running test case …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-unittest

7
推荐指数
1
解决办法
1859
查看次数

random.seed() 不适用于 np.random.choice()

所以我试图生成一个具有所需概率的数字列表;问题是random.seed()在这种情况下不起作用。

M_NumDependent = []

for i in range(61729):
    random.seed(2020)
    n = np.random.choice(np.arange(0, 4), p=[0.44, 0.21, 0.23, 0.12])
    M_NumDependent.append(n)
print(M_NumDependent)
Run Code Online (Sandbox Code Playgroud)

如果有效的话,所需的输出应该是相同的random.seed(),但每次运行时输出都不同。有谁知道是否有一个函数可以完成类似的seed()工作np.random.choice()

python random numpy

7
推荐指数
2
解决办法
1万
查看次数

random.expovariate等效于泊松过程

我在某处读到python库函数random.expovariate产生的等效间隔等于Poisson Process事件.
是真的如此,还是应该对结果强加一些其他功能?

python math statistics poisson

5
推荐指数
2
解决办法
9243
查看次数

Python首先在哪里查找文件?

我正在尝试学习如何在Python中解析.txt文件.这导致我打开解释器(终端> python)并玩游戏.但是,我似乎无法指定正确的路径.Python首先在哪里看?

这是我的第一步:

    f = open("/Desktop/temp/myfile.txt","file1")
Run Code Online (Sandbox Code Playgroud)

这显然是行不通的.任何人都可以建议吗?

python file

4
推荐指数
2
解决办法
2万
查看次数

如何根据任意标准对齐两个列表?

假设我有两个人名单,persons_a并且persons_b.我想尝试给每个人在列表匹配persons_a一个人在persons_b根据任意属性,例如person.age,person.town_from左右.

我怎么能以最有效的方式在Python中做到这一点?我只是做一个for循环吗?

criteria = lambda a, b: a.age == b.age

result = []
for a in persons_a:
    for b in persons_b:
        if critera(a, b):
           result.add(a)
Run Code Online (Sandbox Code Playgroud)

python

1
推荐指数
1
解决办法
1114
查看次数

有没有办法让我的Python程序运行得更快?

我在python中编写了一个计算机程序,但运行速度比我想要的慢得多.

这是代码:

from gzip import GzipFile
from cStringIO import StringIO
import re
import webbrowser
import time
from difflib import SequenceMatcher
import os
import sys
from BeautifulSoup import BeautifulSoup
import eventlet
from eventlet.green import urllib2
import urllib
import urllib2
import cookielib

TITLE_MATCH = re.compile(r'(.*) \(\d{1,10}.{1,100}\)$')
ADDRESS_MATCH = re.compile(r'.{1,100}\((.*), .{4,14}, United States\)$')
LOCATION_LISTING = re.compile(r'http://www\.locationary\.com/place/en/US/.{1,50}/.{1,50}/.{1,100}\.jsp')

def download(url):
    print "Downloading:", url
    s = urllib2.urlopen(url).read()
    if s[:2] == '\x1f\x8b': # assume it's gzipped data
        ifh = GzipFile(mode='rb', fileobj=StringIO(s))
        s = ifh.read()
    print "Downloaded: ", …
Run Code Online (Sandbox Code Playgroud)

python performance

0
推荐指数
1
解决办法
277
查看次数

在运算符vs或运算符中使用它是否更加pythonic

这些陈述中的哪一个更具有pythonic?如果我添加了更多的比较,那么一个会比另一个更有用吗?

if(card3 == game_data['card1'] or card3 == game_data['card2'])
Run Code Online (Sandbox Code Playgroud)

要么

if (card3 in [game_data['card1'],  game_data['card2']])
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
88
查看次数