我正在尝试一系列不同的发行版。
有什么方法可以从分发对象中获取分发的名称吗?
我找到了一种方法,但似乎效率不高。
distribution = "gamma"
distr = getattr(stats, distribution)
print(distr)
# <scipy.stats._continuous_distns.gamma_gen object at 0x11688f518>
str(distr).split(".")[3].split("_")[0]
# 'gamma'
Run Code Online (Sandbox Code Playgroud) 我一直在尝试找出如何将非ascii unicode字符用作Python 3变量,但是我不确定哪个可以工作,哪些不可以。为什么要?工作但?不工作?是否可以?用作角色或目前无法使用?
# Version
sys.version
'3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 12:04:33) \n[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]'
? = 10
print(? )
# 10
? = 20
# File "<ipython-input-24-b5e030117292>", line 1
# ? = 20
# ^
# SyntaxError: invalid character in identifier
Run Code Online (Sandbox Code Playgroud) 它只为所有内容打印“else”语句,但我知道它正在寻找的文件存在的事实。我试过调整其他一些答案,但我认为这绝对有效。
有谁知道我的语法有什么问题?
# Contents of script
for ID_SAMPLE in $(cut -f1 metadata.tsv | tail -n +2);
do if [ -f ./output/${ID_SAMPLE} ]; then
echo Skipping ${ID_SAMPLE};
else
echo Processing ${ID_SAMPLE};
fi
done
Run Code Online (Sandbox Code Playgroud)
附加信息
# Output directory
(base) -bash-4.1$ ls -lhS output/
total 170K
drwxr-xr-x 8 jespinoz tigr 185 Jan 3 16:16 ERR1701760
drwxr-xr-x 8 jespinoz tigr 185 Jan 17 18:03 ERR315863
drwxr-xr-x 8 jespinoz tigr 185 Jan 16 23:23 ERR599042
drwxr-xr-x 8 jespinoz tigr 185 Jan 17 00:10 ERR599072
drwxr-xr-x …Run Code Online (Sandbox Code Playgroud) 我正在尝试读取所有上部或全部小写的文件行.
如果file.txt包含:
Rememberr 8? when you
. Tellingmee THAT one
didntrememberthat
onethingtoday
Run Code Online (Sandbox Code Playgroud)
我希望它能读到:
didntrememberthat
ONETHINGTODAY
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有:
def function(file_name):
data=[]
f=open(file_name,'r')
lines=f.readlines()
for k in lines:
single=tuple(k)
for j in single:
j=str(j)
if j.isupper() or j.islower() == False:
lines=f.readlines()[j:]
Run Code Online (Sandbox Code Playgroud)
然后我明白了:
lines=f.readlines()[j:]
TypeError: slice indices must be integers or None or have an __index__ method
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为j它不是一个整数.但是,j当我遇到if-statement 时,我怎么能找到它的位置?
如果有一种更简单的方法可以做到这一点非常棒
empty_string = ''
string_1 = 'beta'
def sample(x):
empty_string = empty_string + 'alpha'
return x
Run Code Online (Sandbox Code Playgroud)
为什么不:
empty_string = 'alpha'
Run Code Online (Sandbox Code Playgroud)
我很困惑为什么empty_string在我在函数中添加它之后仍然是空的
所以我有一个字符串
s = '>n269412 | AK142815 | msdfhakjfdkjfs'
Run Code Online (Sandbox Code Playgroud)
我希望包括所有内容,但不包括第一个'|'实例
所以我做的是
import re
p = re.search('|',s)
print s[:p]
Run Code Online (Sandbox Code Playgroud)
但我得到了这个错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: slice indices must be integers or None or have an __index__ method
Run Code Online (Sandbox Code Playgroud)
我明白为什么它不起作用..因为那个值不是一个整数但有什么方法可以在搜索找到该元素时使用该值?
我正在尝试使用with声明来抑制sys.stdout或sys.stderr单独使用。 我发现了一个不起作用的教程。我正在使用Python 3.6.4并且我认为该教程是Python 2.
我在 SO 上查了一下,发现了一些但应用程序不起作用或不适用于这种情况。
这不适用:Python subprocess supress stdout and stderr
无法使任何with语句起作用:
Suppress stdout / stderr print from Python functions
这适用于 fortran:在 Python 中重定向 FORTRAN(通过 F2PY 调用)输出
from contextlib import contextmanager
@contextmanager
def suppress_console(file=sys.stdout):
with open(os.devnull, "w") as devnull:
old_file = file
file = devnull
try:
yield
finally:
file = old_file
with suppress_console():
print(1, file=sys.stdout)
# 1
Run Code Online (Sandbox Code Playgroud) 我一直在浏览pandas https://github.com/pandas-dev/pandas/blob/master/pandas/core/generic.py的源代码,我无法弄清楚它们实际实现.loc切片方法的位置.我正在开发一个包含大量内容的包装器pd.DataFrames.为了这个问题,让我们称之为DataFrameCollection.我不想继承所有方法,所以我不想这样做class DataFrameCollection(pd.DataFrame): pass.
有谁知道哪个代码负责对象的.loc方法pd.DataFrame以及如何在自定义对象上使用它?
基本上我希望能够做到以下几点:
dfc_iris = DataFrameCollection(" a bunch of dataframes")
dfc_iris.loc[idx_obsvs, :]
Run Code Online (Sandbox Code Playgroud) my_list = ['c1','c2','c3']
Run Code Online (Sandbox Code Playgroud)
反正是否有基于列表中的项目创建一定数量的新列表?
结果将是:
c1 = []
c2 = []
c3 = []
Run Code Online (Sandbox Code Playgroud)