所以,假设我有以下内容:
import unittest
class MyTests(unittest.TestCase):
def test001(self):
print 'This is test001'
def test002(self):
print 'This is test002'
if __name__ == '__main__':
unittest.main()
print 'Done'
Run Code Online (Sandbox Code Playgroud)
输出是:
>> This is test001
>> This is test002
>> ----------------------------------------------------------------------
>> Ran 2 tests in 0.001s
>> OK
Run Code Online (Sandbox Code Playgroud)
我想知道为什么不打印"完成"(或任何后来的东西)?
我正在尝试编写一个程序,要求用户以mm/dd/yyyy格式输入日期并进行转换.因此,如果用户输入01/01/2009,程序应显示2009年1月1日.这是我的程序到目前为止.我设法转换月份,但其他元素有一个括号围绕它们,所以它显示1月[01] [2009].
date=input('Enter a date(mm/dd/yyy)')
replace=date.replace('/',' ')
convert=replace.split()
day=convert[1:2]
year=convert[2:4]
for ch in convert:
if ch[:2]=='01':
print('January ',day,year )
Run Code Online (Sandbox Code Playgroud)
先感谢您!
在高层次上,我想要完成的是:
given a list of words, return all the words that do not consist solely of digits
Run Code Online (Sandbox Code Playgroud)
我第一次想到如何做到这一点是:
import string
result = []
for word in words:
for each_char in word:
if each_char not in string.digit:
result.append(word)
break
return result
Run Code Online (Sandbox Code Playgroud)
这很好用.为了更加Pythonic,我想 - 列表理解,对吗?所以:
return [word for word in words for char in word if not char in string.digits]
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会word为每个不是数字的字符添加结果副本.所以f(['foo']),我最终得到了['foo', 'foo', 'foo'].
有没有一种聪明的方法可以做我想做的事情?我目前的解决方案是编写一个is_all_digits函数,然后说[word for word in words if not is_all_digits(word)].我的一般理解是列表推导允许这种操作是声明性的,并且辅助函数对我来说是充分的声明; 只是好奇是否有一些聪明的方法使它成为一个复合语句. …
我有以下代码从制表符分隔的文本文件中读取数据,然后将其写入现有Excel工作簿中的指定工作表.变量"workbook","write_sheet"和"text_file"由用户输入
tab_reader = csv.reader(text_file, delimiter='\t')
xls_book = openpyxl.load_workbook(filename=workbook)
sheet_names = xls_book.get_sheet_names()
xls_sheet = xls_book.get_sheet_by_name(write_sheet)
for row_index, row in enumerate(tab_reader):
number = 0
col_number = first_col
while number < num_cols:
cell_tmp = xls_sheet.cell(row = row_index, column = col_number)
cell_tmp.value = row[number]
number += 1
col_number += 1
xls_book.save(workbook)
Run Code Online (Sandbox Code Playgroud)
但是,当我在预先存在的"工作簿"上运行此代码时,"工作表"是一个隐藏的选项卡,输出将取消隐藏选项卡.我认为原因是因为openpyxl没有修改文件而是完全创建一个新文件.是否有一种简单的方法告诉python检查工作表是否被隐藏,然后根据条件是否满足输出隐藏或未隐藏的工作表?
谢谢!
我想得到一个表的列名,但其中有数百万个数据.所以我不能用:
cursor.execute("SELECT * FROM table_name")
print cursor.description
Run Code Online (Sandbox Code Playgroud)
在sqlite3中,我这样做
crs.execute("PRAGMA table_info(%s)" %(tablename[0]))
for info in crs:
print info
Run Code Online (Sandbox Code Playgroud)
但这不适用于python mysqldb.谁知道怎么做?
我正在使用Protractor来测试AngularJS
我想检查一下,在测试结束时没有发生未捕获的异常,并打印到浏览器控制台.
有一个简单的方法吗?
在请求中获取页面标题的最简单方法是什么?
r = requests.get('http://www.imdb.com/title/tt0108778/')
# ? r.title
Friends (TV Series 1994–2004) - IMDb
Run Code Online (Sandbox Code Playgroud) 我们有一个非常标准的Scrapy项目(Scrapy 0.24).
我想捕获特定的HTTP响应代码,例如200,500,502,503,504等.
像这样的东西:
class Spider(...):
def parse(...):
processes HTTP 200
def parse_500(...):
processes HTTP 500 errors
def parse_502(...):
processes HTTP 502 errors
...
Run Code Online (Sandbox Code Playgroud)
我们怎么做?
我们一直在广泛使用Protractor框架,并建立了一个相当大的测试代码库.我们也一直在关注Page Object模式来组织我们的测试.
最近,我们开始使用Galen框架填补视觉/布局/响应式设计测试的空白.我们非常喜欢这个框架,并希望继续使用它.
现在最大的问题是Page Objects.两个框架都有自己的定义页面对象的方法.
这是Protractor页面对象的示例:
var LoginPage = function () {
this.username = element(by.id("username"));
this.password = element(by.id("password"));
this.loginButton = element(by.binding("buttonText"));
};
module.exports = new LoginPage();
Run Code Online (Sandbox Code Playgroud)
而且,这是一个示例Galen页面对象:
this.LoginPage = $page("Login page", {
username: '#username',
password: '#password',
loginButton: 'button[ng-click*=login]'
});
Run Code Online (Sandbox Code Playgroud)
目前,我们正在复制定位器并重复自己 - 违反DRY原则.而且,另一个后续问题是Galen目前仅支持"by css","by id"或"by xpath"定位技术 - 这意味着页面对象不会一对一地映射.
有没有办法避免重复将Protractor和Galen结合在一起的页面对象和元素定位器?
我们有一个相当庞大的测试代码库(大约10000行javascript代码),在某些情况下,我们需要关闭Protractor-to-Angular同步:
browser.ignoreSynchronization = true;
Run Code Online (Sandbox Code Playgroud)
但问题是,我们有时会忘记再次打开同步,使所有后续测试失败,原因不明,需要时间和精力进行调试.
有没有办法确保在测试中重新启用同步?
我们确实有基于静态代码的分析ESLint并执行代码审查.
python ×7
protractor ×3
selenium ×3
testing ×3
javascript ×2
angular ×1
angularjs ×1
datetime ×1
excel ×1
galen ×1
html ×1
html-parsing ×1
list ×1
mysql ×1
mysql-python ×1
openpyxl ×1
pageobjects ×1
python-3.x ×1
scrapy ×1
unit-testing ×1
web-scraping ×1