在单击中,我正在定义此命令:
@click.command('time', short_help='Timesheet Generator')
@click.argument('time_command', type=click.Choice(['this', 'last']))
@click.argument('data_mode', type=click.Choice(['excel', 'exchange']), default='exchange')
@click.option('--password', prompt=True, hide_input=True, confirmation_prompt=False)
@pass_context
def cli(ctx, time_command, data_mode, password):
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我只希望密码在data_mode参数等于exchange. 我怎么能把它拉下来?
我写了这个简短的小程序是为了自学 Python 中的面向对象设计。但是我目前遇到了一个非常令人困惑的错误。
Traceback (most recent call last):
File "main.py", line 97, in <module>
cli()
File "C:\Python27\lib\site-packages\click\core.py", line 716, in __call__
return self.main(*args, **kwargs)
File "C:\Python27\lib\site-packages\click\core.py", line 695, in main
with self.make_context(prog_name, args, **extra) as ctx:
File "C:\Python27\lib\site-packages\click\core.py", line 620, in make_context
self.parse_args(ctx, args)
File "C:\Python27\lib\site-packages\click\core.py", line 874, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
File "C:\Python27\lib\site-packages\click\core.py", line 1390, in handle_parse_result
value = self.full_process_value(ctx, value)
File "C:\Python27\lib\site-packages\click\core.py", line 1675, in full_process_value
return Parameter.full_process_value(self, ctx, value)
File "C:\Python27\lib\site-packages\click\core.py", line 1359, …Run Code Online (Sandbox Code Playgroud) 我不明白这样一个非常重要的付款方式几乎没有帮助,使用起来太复杂了。
我试图在沙盒中完成付款,只是为了测试我们的一位客户的“退款”。
每次我尝试退款时,都会出现此错误。
我已经读过了,谷歌迷失了解决方案的建议,但是没有一个是很清楚的,还有一些根本没有任何答案。
实际上有来自贝宝的人可以帮助我吗?
我想检查字符串中是否有任何字母数字字符。我为此编写了以下代码,并且工作正常:
s = input()
temp = any(i.isalnum() for i in s)
print(temp)
Run Code Online (Sandbox Code Playgroud)
我的问题是下面的代码,它与上面的代码有何不同:
for i in s:
if any(i.isalnum()):
print(True)
Run Code Online (Sandbox Code Playgroud)
for循环迭代仍在第一个代码中进行,为什么它不引发错误?第二个代码抛出:
追溯(最近一次调用):TypeError中的文件“”,第18行:“ bool”对象不可迭代
我目前正在学习神经网络课程,我正在尝试.mat使用从 Python加载文件scipy.io.loadmat(filename),但我不断收到以下错误消息:
ValueError:未知的 mat 文件类型,版本 101、58
当我尝试使用 .m 文件加载 .m 文件而不是.mat文件时,出现了相同的消息scipy.io.loadmat()。
我不知道如何解决这个问题,所以如果这里有人可以帮助我,我将不胜感激。
使用时click我知道如何定义多项选择选项。我也知道如何将选项设置为必需选项。但是,我怎么能表明一个选项B,只需要在设置选项的值A是foo?
下面是一个例子:
import click
@click.command()
@click.option('--output',
type=click.Choice(['stdout', 'file']), default='stdout')
@click.option('--filename', type=click.STRING)
def main(output, filename):
print("output: " + output)
if output == 'file':
if filename is None:
print("filename must be provided!")
else:
print("filename: " + str(filename))
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
如果output选项是stdout,则filename不需要。但是,如果用户选择output是file,则filename必须提供另一个选项。单击是否支持此模式?
在函数的开头,我可以添加如下内容:
if output == 'file' and filename is None:
raise ValueError('When output is "file", a …Run Code Online (Sandbox Code Playgroud) 我试图使用OpenCV和Python比较图像.
考虑这些图像:
两者都有一双相同的鞋子,设置为白色背景.唯一的区别是第一个背景比第二个背景更高.
我想知道如何以编程方式裁剪两者的白色背景,以便我只剩下这双鞋.
我必须补充一点,我不可能手动裁剪背景.
如果我从第三方导入模块,但他们使用的语法与我的排序不一致,那么pep8是否有好的方法呢?
示例:我需要使用无法编辑的第三方模块,并且它们的命名约定不是很好.
例:
thisIsABase_function(self,a,b)
Run Code Online (Sandbox Code Playgroud)
我有一些代码将pep8命名为pep8,但我想知道如何通过新的pep8名称访问这些函数?
def _pep8ify(name):
"""PEP8ify name"""
import re
if '.' in name:
name = name[name.rfind('.') + 1:]
if name[0].isdigit():
name = "level_" + name
name = name.replace(".", "_")
if '_' in name:
return name.lower()
s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name)
return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower()
Run Code Online (Sandbox Code Playgroud)
有没有办法在导入时可以PEP8这些名字?
我的 Excel 工作表有一列用百分比符号存储的百分比(例如“50%”)。如何强制pandas.read_excel读取字符串“50%”而不是将其转换为浮点数?
目前该read_excel实现将百分比解析为浮点数 0.5。此外,如果我添加一个converter = {col_with_percentage: str}参数,它会将其解析为字符串“0.5”。有没有办法读取原始百分比值(“50%”)?
我的data框架包含10,000,000行!分组后,仍然有大约9,000,000个子帧循环.
代码是:
data = read.csv('big.csv')
for id, new_df in data.groupby(level=0): # look at mini df and do some analysis
# some code for each of the small data frames
Run Code Online (Sandbox Code Playgroud)
这是非常低效的,现在代码运行了10多个小时.
有没有办法加快速度?
完整代码:
d = pd.DataFrame() # new df to populate
print 'Start of the loop'
for id, new_df in data.groupby(level=0):
c = [new_df.iloc[i:] for i in range(len(new_df.index))]
x = pd.concat(c, keys=new_df.index).reset_index(level=(2,3), drop=True).reset_index()
x = x.set_index(['level_0','level_1', x.groupby(['level_0','level_1']).cumcount()])
d = pd.concat([d, x])
Run Code Online (Sandbox Code Playgroud)
要获取数据:
data = pd.read_csv('https://raw.githubusercontent.com/skiler07/data/master/so_data.csv', index_col=0).set_index(['id','date'])
Run Code Online (Sandbox Code Playgroud)
注意:
大多数id只有1个日期.这表明只有1次访问.对于具有更多访问量的id,我想以3d格式构建它们,例如将所有访问存储在第二维度中.输出为(id,visit,features)
python ×8
python-click ×3
pandas ×2
python-3.x ×2
alphanumeric ×1
json ×1
loading ×1
matlab ×1
numpy ×1
oop ×1
opencv ×1
paypal ×1
python-2.7 ×1
sandbox ×1
scikit-image ×1
string ×1