是否可以更改max-line-length项目中一个文件的设置(同时执行rc文件中定义的所有其他检查)?
理想情况下,它应该像内联pylint: disable=x注释一样.
我已尝试将此行放在模块级别:
# pylint: max-line-length=240
Run Code Online (Sandbox Code Playgroud)
PyLint无法识别它:
my_file.py:15: [E0011(unrecognized-inline-option), ] Unrecognized file option 'max-line-length
Run Code Online (Sandbox Code Playgroud)
编辑:我知道我可以line-too-long完全禁用检查,但说实话我想避免这样做,以防有人试图扩展这个模块并添加比现在更长的行.
基本上我有两个数组,一个包含x轴的值,第二个包含y轴的值.问题是,当我这样做
plt.semilogy(out_samp,error_mc)
Run Code Online (Sandbox Code Playgroud)
我明白了
这没有任何意义.这是因为绘图函数绘制了在x数组中遇到的所有内容,而不是关心它是否按升序排序.我如何对这两个数组进行排序,以便通过增加值对y数组进行排序,并以相同的方式对y轴进行排序,使得点相同,但是连接的图是为了使它不会造成这种混乱?
先感谢您!
请考虑使用Python 2.x代码段.
from __future__ import print_function
class myfile(file):
def __exit__(self, *excinfo):
print("__exit__ called")
super(myfile, self).__exit__(*excinfo)
def my_generator(file_name):
with myfile(file_name) as fh:
for line in fh:
yield line.strip()
gen = my_generator('file.txt')
print(next(gen))
print("Before del")
del gen
print("After del")
Run Code Online (Sandbox Code Playgroud)
此脚本的输出(给定file.txt有多行)是:
Line 1 from file
Before del
__exit__ called
After del
Run Code Online (Sandbox Code Playgroud)
我__exit__特别感兴趣.
什么触发了他的方法的执行?对于我们所知道的,代码从未离开过with语句(它在yield语句后"停止" 并且从未继续).__exit__当发电机的参考计数降至0时,是否保证会被调用?
我正在使用带有自定义格式化程序的Python标准日志记录模块,其中我限制了某些字段的长度.它使用标准的%Python运算符.
我可以像这样对百分比格式的字符串应用限制(这会将长度限制为10个字符):
>>> "%.10s" % "Lorem Ipsum"
'Lorem Ipsu'
Run Code Online (Sandbox Code Playgroud)
是否可以从头开始修剪它,所以输出是'orem Ipsum'(没有操纵右侧参数)?
请考虑以下代码段:
class AbstractClass(object):
def method1(self):
raise NotImplementedError()
def method2(self):
raise NotImplementedError()
class SemiConcreteClass(AbstractClass):
def method1(self):
return True
class ConcreteClass(SemiConcreteClass):
def method2(self):
return True
Run Code Online (Sandbox Code Playgroud)
使用默认的config(pylint classes.py)运行对此文件的检查会产生一些丢失的文档字符串(让我们忽略它们)和此警告:
W:8,0:方法'method2'在类'AbstractClass'中是抽象的但是没有被覆盖(abstract-method)
我知道SemiConcreteClass其实是抽象的,应该被分类以便使用,我不希望Pylint报告它.如何配置Pylint将这些类视为另一个抽象类?类名称,类所在的模块的命名约定 - 所有这些解决方案都没问题.
我知道我可以通过# pylint: disable=abstract-method评论明确地在课堂上保持警告.有更优雅的解决方案吗?
pylint 1.4.3,
astroid 1.3.6, common 0.63.2
Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)]
Run Code Online (Sandbox Code Playgroud) 我有一个使用subprocess.Popen执行Windows*.exe文件的python脚本.除一个之外的所有EXE产生预期输出.当使用print()打印时,所讨论的输出包括输出的每个字符之间的空格.
这是在Windows命令行中执行EXE时输出的外观:
C:\Python27>autorunsc.exe /accepteula
Sysinternals Autoruns v13.51 - Autostart program viewer
Copyright (C) 2002-2015 Mark Russinovich
Sysinternals - www.sysinternals.com
HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\StartupPrograms
rdpclip
rdpclip
RDP Clip Monitor
Microsoft Corporation
6.1.7601.17514
c:\windows\system32\rdpclip.exe
20/11/2010 11:22
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
C:\Windows\system32\userinit.exe
Run Code Online (Sandbox Code Playgroud)
这是在Python中打印时的外观:
Sysinternals Autoruns v13.51 - Autostart program viewer
Copyright (C) 2002-2015 Mark Russinovich
Sysinternals - www.sysinternals.com
H K L M \ S y s t e m \ C u r r e n t C o n t r o l S e t …Run Code Online (Sandbox Code Playgroud) 当我运行以下代码时,循环执行所有进程需要两分钟多的时间。这是正常的吗?我一直在使用 psutil.process_iter() 一段时间,我不记得它花了这么长时间。
import psutil
import datetime as dt
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name'])
except psutil.NoSuchProcess:
pass
else:
print(pinfo)
print dt.datetime.now()
Run Code Online (Sandbox Code Playgroud)
输出:
{'pid': 0, 'name': 'System Idle Process'}
2017-07-11 01:55:45.392000
{'pid': 4, 'name': 'System'}
2017-07-11 01:55:45.394000
{'pid': 256, 'name': 'acrotray.exe'}
2017-07-11 01:55:45.397000
{'pid': 404, 'name': None}
2017-07-11 01:55:46.670000
{'pid': 568, 'name': None}
2017-07-11 01:55:47.750000
{'pid': 604, 'name': None}
2017-07-11 01:55:48.996000
{'pid': 608, 'name': None}
2017-07-11 01:55:50.293000
{'pid': 700, 'name': None}
2017-07-11 01:55:51.492000
{'pid': 708, 'name': None} …Run Code Online (Sandbox Code Playgroud) 我正在做一个循环来获取json api,这是我在循环中的内容:
response_item = requests.request('GET',url_item,params=None,verify=False)
response_item = json.loads(response_item.text)
response_item = ast.literal_eval(json.dumps(response_item, ensure_ascii=False).encode('utf8'))
Run Code Online (Sandbox Code Playgroud)
我扫描45000个json对象,我为每次迭代生成"url_item"变量.每个对象都是一样的,我可以得到像7000对象的东西,当我到达7064th时我有以下错误:
Traceback (most recent call last):
File "C:\Python27\tools\api_item.py", line 47, in <module>
response_item = ast.literal_eval(json.dumps(response_item, ensure_ascii=False).encode('utf8'))
File "C:\Python27\lib\ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "C:\Python27\lib\ast.py", line 63, in _convert
in zip(node.keys, node.values))
File "C:\Python27\lib\ast.py", line 62, in <genexpr>
return dict((_convert(k), _convert(v)) for k, v
File "C:\Python27\lib\ast.py", line 63, in _convert
in zip(node.keys, node.values))
File "C:\Python27\lib\ast.py", line 62, in <genexpr>
return dict((_convert(k), _convert(v)) for k, v
File "C:\Python27\lib\ast.py", …Run Code Online (Sandbox Code Playgroud) 是否有可能pip install package提供可选的 C 扩展,但专门禁用编译这些扩展的过程?
此类包的示例如下:
python ×9
pylint ×2
string ×2
api ×1
generator ×1
json ×1
logging ×1
malformed ×1
matplotlib ×1
pip ×1
psutil ×1
python-2.7 ×1
python-2.x ×1
python-c-api ×1
setuptools ×1
subprocess ×1
truncate ×1
twilio ×1
windows ×1