小编Chr*_*son的帖子

如何在Python格式说明符中使用变量名称

是否可以在Python字符串格式化说明符中使用变量?

我试过了:

display_width = 50
print('\n{:^display_width}'.format('some text here'))
Run Code Online (Sandbox Code Playgroud)

但得到一个ValueError: Invalid format specifier.我也试过了display_width = str(50)

然而,只是进入print('\n{:^50}'.format('some text here'))工作就好了.

python formatting

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

csv.writerows()在每行之后放置换行符

这是O'Reilly Cookbook(截断数据集)的一个例子

headers = ['Symbol','Price','Date','Time','Change','Volume']
rows = [{'Symbol': 'AA', 'Volume': 181800, 'Change': -0.18,
         'Time': '9:36am', 'Date': '6/11/2007', 'Price': 39.48},
        {'Symbol': 'AIG', 'Volume': 195500, 'Change': -0.15,
         'Time': '9:36am', 'Date': '6/11/2007', 'Price': 71.38} ]

with open('stocks2.csv','w') as f:
    f_csv = csv.DictWriter(f, headers)
    f_csv.writeheader()
    f_csv.writerows(rows)
Run Code Online (Sandbox Code Playgroud)

输出文件\n在每行的末尾都有一个,显然在结尾处还有一个.当我将它带入Excel时,每行之间会出现空白行.如果我用Notepad ++打开它也一样.

但是,如果我more从命令行,\n不显示.

\n在文件的末尾看到了关于a的另一个问答- 但这个问题\n在每一行的末尾都是关于a 的.(我不明白为什么more不给\n.)

我计划将文件带入OpenOffice Calc.

python csv python-3.x

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

SublimeText 3 Sublimelinter Pep257仅忽略__init__方法上的D102吗?

好的,所以我终于很生气地提出这个问题。我用崇高的文本3作为我的编辑器,我使用Sublimelinter插件与Pep8Pep257我的Python文件。在构建类时,我的解释是可以__init__在主类docstring中记录一个类的方法。(这是正确的,对吧?)这样,是有可能有sublimelinter只有忽略误差D102: Missing docstring in public method仅为__init__方法?我知道我可以使警告变为被动,我的OCD只是不喜欢在排水沟中看到警告图标,而我最终"""See main dosctring."""只是为了摆脱它而放入了一个虚拟文档字符串。

python sublimetext sublimelinter sublimetext3

5
推荐指数
0
解决办法
431
查看次数

Python用可变数量的位置args和可选的arg来装饰方法

我正在使用SQLalchemy编写我的第一个Python(3.4)应用程序.我有几种方法都有非常相似的模式.它们采用session默认的可选参数None.如果session传递,则该函数使用该会话,否则它将打开并使用新会话.例如,请考虑以下方法:

def _stocks(self, session=None):
    """Return a list of all stocks in database."""
    newsession = False
    if not session:
        newsession = True
        session = self.db.Session()
    stocks = [stock.ticker for stock in session.query(Stock).all()]
    if newsession:
        session.close()
    return stocks
Run Code Online (Sandbox Code Playgroud)

因此,对Python很陌生并渴望学习它的所有功能,我认为这就像是了解Python装饰器的最佳时机.所以经过大量的阅读,像这一系列的博客文章这个梦幻般的答案,我写了以下装饰:

from functools import wraps

def session_manager(func):
    """
    Manage creation of session for given function.

    If a session is passed to the decorated function, it is simply
    passed through, otherwise a new session is …
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-decorators

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

间接访问Python实例属性而不使用点表示法

给定一些简单的sqlalchemy一对多关系的简单表,我正在尝试编写一个通用函数来将子函数添加到关系集合中.表格如下所示:

class StockItem(Base):

    __tablename__ = 'stock_items'

    stock_id = Column(Integer, primary_key=True)
    description = Column(String, nullable=False, unique=True)
    department = Column(String)
    images = relationship('ImageKey', backref='stock_item', lazy='dynamic')

    def __repr__(self):
        return '<StockItem(Stock ID:{}, Description: {}, Department: {})>'.\
            format(self.stock_id, self.description, self.department)


class ImageKey(Base):

    __tablename__ = 'image_keys'

    s3_key = Column(String, primary_key=True)
    stock_id = Column(Integer, ForeignKey('stock_items.stock_id'))

    def __repr__(self):
        return '<ImageKey(AWS S3 Key: {}, Stock Item: {})>'.\
            format(self.s3_key, self.stock_id)
Run Code Online (Sandbox Code Playgroud)

因此,通过给定的设置,我可以images为给定的项目添加项目StockItem:

item = StockItem(stock_id=42, description='Frobnistication for Foozlebars', 
                 department='Books')
image = ImageKey(s3_key='listings/images/Frob1.jpg', stock_id=42)
item.images.append(image)
Run Code Online (Sandbox Code Playgroud)

好.到现在为止还挺好.实际上,我的应用程序将有几个关系表.当我尝试将其概括为处理任意关系的函数时,我的问题就出现了.Here'e我写的东西(注意, …

python sqlalchemy list relationship python-3.x

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