是否可以在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'))工作就好了.
这是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.
好的,所以我终于很生气地提出这个问题。我用崇高的文本3作为我的编辑器,我使用Sublimelinter插件与Pep8和Pep257我的Python文件。在构建类时,我的解释是可以__init__在主类docstring中记录一个类的方法。(这是正确的,对吧?)这样,是有可能有sublimelinter只有忽略误差D102: Missing docstring in public method仅为__init__方法?我知道我可以使警告变为被动,我的OCD只是不喜欢在排水沟中看到警告图标,而我最终"""See main dosctring."""只是为了摆脱它而放入了一个虚拟文档字符串。
我正在使用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) 给定一些简单的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 ×5
python-3.x ×3
csv ×1
formatting ×1
list ×1
relationship ×1
sqlalchemy ×1
sublimetext ×1
sublimetext3 ×1