小编Mic*_*l A的帖子

如何使用join-path将两个以上的字符串组合到文件路径中?

如果我想将两个字符串组合成文件路径,我使用Join-Path如下:

$path = Join-Path C: "Program Files"
Write-Host $path
Run Code Online (Sandbox Code Playgroud)

那打印"C:\Program Files".如果我想为两个以上的字符串执行此操作:

$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
Run Code Online (Sandbox Code Playgroud)

Powershell抛出一个错误:

[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
Run Code Online (Sandbox Code Playgroud)

我尝试使用字符串数组:

C:\somepath
Program Files\somepath
Microsoft Office\somepath
Run Code Online (Sandbox Code Playgroud)

但是Powershell提示我输入子路径(因为我没有指定-childpath参数),例如"somepath",然后创建三个文件路径,

$path = Join-Path C: "Program Files"
Write-Host $path
Run Code Online (Sandbox Code Playgroud)

哪个也不对.

powershell

98
推荐指数
7
解决办法
8万
查看次数

如何在sympy表达式中获取符号列表?

例如,如果我跑

import sympy
x, y, z = sympy.symbols('x:z')
f = sympy.exp(x + y) - sympy.sqrt(z)
Run Code Online (Sandbox Code Playgroud)

是否有任何方法f可以用来获取sympy.Symbol表达式包含的对象的列表或元组?我宁愿不必srepr(f)向下解析或解析f.args.

在这种情况下,g.args[0].args[1].args[0]给我Symbol("z"),虽然g.args[1].args[0].args给我元组(Symbol("x"), Symbol("y")),但显然这些是特定于表达式.

python sympy python-3.x

29
推荐指数
2
解决办法
8456
查看次数

如何让PyCharm在Python/IPython控制台和编辑器中显示方法签名和文档?

在IPython的QT控制台(在Windows 7上),如果我输入:

import scipy
scipy.zeros(
Run Code Online (Sandbox Code Playgroud)

然后是Tab,它显示方法的基本文档,如签名,参数,描述等.在PyCharm CE 3.4.1中,我启用了IPython作为我的控制台,但这不会发生.在实际编辑器中也是如此; 如果我在编辑器中输入此代码,则不显示任何内容.我不认为这与这个问题中的问题有关(PyCharm无法分辨出某些东西的类型,因为它实际上并没有运行它),但也许就是这样.

ipython pycharm anaconda

18
推荐指数
4
解决办法
8214
查看次数

我可以阻止Matlab动态调整预分配的数组吗?

例如,在这个简单/愚蠢的例子中:

n = 3;
x = zeros(n, 1);
for ix=1:4
    x(ix) = ix;
end
Run Code Online (Sandbox Code Playgroud)

数组是预先分配的,但在循环中动态调整大小.在这样的动态调整大小时,Matlab中是否存在会引发错误的设置?在这个例子中,我可以轻而易举地重写它:

n = 3;
x = zeros(n, 1);
for ix=1:4
    if ix > n
        error('Size:Dynamic', 'Dynamic resizing will occur.')
    end
    x(ix) = ix;
end
Run Code Online (Sandbox Code Playgroud)

但我希望用这个作为检查,以确保我已经预先分配了我的矩阵.

matlab

9
推荐指数
2
解决办法
977
查看次数

如何从控制台运行扭曲?

我在Windows 7上使用带有Anaconda的Python 3.我安装了Twisted conda install twisted,现在我试图从控制台运行twisted(或twistd?),但是我收到此错误

'twisted'不被识别为内部或外部命令,可操作程序或批处理文件.

这让我觉得路径中缺少一个目录,就像这个问题一样.Anaconda安装在C:\Anaconda3,但即使在C:\Anaconda3\Lib\site-packages\twisted,没有twisted.pytwistd.py文件.

我做错了什么,或者我找错了文件的位置?

这是一个问题,因为Twisted还没有正式移植到Python 3吗?

python twisted python-3.x anaconda

8
推荐指数
1
解决办法
2285
查看次数

由于文档中的示例被破坏,如何在SymPy中以数字方式求解非线性方程组?

对文档nonlinsolve给出了这样的例子:

from sympy.core.symbol import symbols
from sympy.solvers.solveset import nonlinsolve
x, y, z = symbols('x, y, z', real=True)
nonlinsolve([x*y - 1, 4*x**2 + y**2 - 5], [x, y])
{(-1, -1), (-1/2, -2), (1/2, 2), (1, 1)}
Run Code Online (Sandbox Code Playgroud)

但即使在他们网站上的实时shell中,也会引发错误:

>>> from sympy.solvers.solveset import nonlinsolve
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name nonlinsolve
Run Code Online (Sandbox Code Playgroud)

我怎样才能用nonlinsolve数字方法求解方程组?我知道我可以使用ufuncify将方程式转换为scipy.optimize.fsolve可以解决的系统,但我宁愿避免使用这两行样板并直接使用SymPy.

根据SymPy文档solve,solve不建议使用.对于非线性方程组,文档建议sympy.solvers.solveset.nonlinsolve,这是我在这里尝试使用的.

python solver sympy

8
推荐指数
2
解决办法
896
查看次数

当我使用PROC EXPORT时,如何阻止SAS为每个字符串变量添加额外的空字节?

当我使用数据集导出数据集时PROC EXPORT,SAS 9.4会自动扩展为每个字符串变量的每个观察添加一个额外的(空)字节.例如,在此数据集中:

data test1;
    input cust_id   $ 1
          month       3-8
          category  $ 10-12 
          status    $ 14-14
;
datalines;
A 200003 ABC C
A 200004 DEF C
A 200006 XYZ 3
B 199910 ASD X
B 199912 ASD C
;
quit;

proc export data = test1
    file = "test1.dta"
    dbms = stata replace;
quit;
Run Code Online (Sandbox Code Playgroud)

变量cust_id,, categorystatus应该是str1,str3并且str1在最终的Stata文件中,因此每次观察分别占用1个字节,3个字节和1个字节.然而,SAS自动添加到每个观测,其扩展了它们的数据类型到一个额外的空字节str2,str4str2在输出Stata的文件数据类型.

这是非常有问题的,因为这是每个字符串变量的每次观察 …

sas stata

7
推荐指数
1
解决办法
339
查看次数

如何从download.file请求中捕获HTTP错误代码?

此代码尝试下载不存在的页面:

url <- "https://en.wikipedia.org/asdfasdfasdf"
status_code <- download.file(url, destfile = "output.html", method = "libcurl")
Run Code Online (Sandbox Code Playgroud)

这会返回404错误:

trying URL 'https://en.wikipedia.org/asdfasdfasdf'
Error in download.file(url, destfile = "output.html", method = "libcurl") : 
  cannot open URL 'https://en.wikipedia.org/asdfasdfasdf'
In addition: Warning message:
In download.file(url, destfile = "output.html", method = "libcurl") :
  cannot open URL 'https://en.wikipedia.org/asdfasdfasdf': HTTP status was '404 Not Found'
Run Code Online (Sandbox Code Playgroud)

但是code变量仍然包含0,即使download.file返回值为的状态的文档是:

一个(不可见的)整数代码,0表示成功,非零表示失败.对于"wget"和"curl"方法,这是外部程序返回的状态代码."internal"方法可以返回1,但在大多数情况下会抛出错误.

如果我使用curlwget作为下载方法,结果是相同的.我在这里错过了什么?是调用warnings()和解析输出的唯一选项吗?

我已经看到了有关使用的其他问题download.file,但没有(我能找到)实际检索HTTP状态代码.

curl r http wget

7
推荐指数
2
解决办法
390
查看次数

当内容存储在 docs 文件夹中时,如何通过自定义域提供 Github 页面?

我在 Github 中有一个通过自定义域(通过 Google Domains 租用)提供服务的项目站点。我首先将存储库配置为直接从master分支提供服务,并相应地在 Google 中配置 DNS 记录。

具体来说,A记录设置为

185.199.108.153
185.199.109.153
185.199.110.153
185.199.111.153
Run Code Online (Sandbox Code Playgroud)

并且CNAME记录设置为myusername.github.io。在 Github 存储库中,我创建了CNAME文件mycustomdomain.org并更改了存储库设置以使用它。这工作正常

但是,一旦我将 Github Pages 设置更改为使用/docsmaster 分支上的文件夹,我就无法通过mycustomdomain.org. (这是一个 404 错误)直觉上,它现在是mycustomdomain.org/docs. 有什么办法既可以为docs文件夹中的页面提供服务,可以通过顶级域访问站点吗?

github github-pages

7
推荐指数
1
解决办法
146
查看次数

当我使用matplotlib的DateFormatter格式化x轴上的日期时,为什么我的"python int太大而无法转换为C long"错误?

这个答案使用DateFormatter后,我尝试使用pandas 0.15.0和matplotlib 1.4.2绘制时间序列并用x年标记其x轴:

import datetime as dt
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas.io.data as pdio
import scipy as sp

t1 = dt.datetime(1960, 1, 1)
t2 = dt.datetime(2014, 6, 1)
data = pdio.DataReader("GS10", "fred", t1, t2).resample("Q", how=sp.mean)

fig, ax1 = plt.subplots()
ax1.plot(data.index, data.GS10)
ax1.set_xlabel("Year")
ax1.set_ylabel("Rate (%)")
ax1.xaxis.set_major_formatter(mpl.dates.DateFormatter("%Y"))
fig.suptitle("10-yr Treasury Rate", fontsize=14)

fig.savefig('test.eps')
Run Code Online (Sandbox Code Playgroud)

最后一行引发错误:OverflowError: Python int too large to convert to C long 使用此回溯:

C:\ Anaconda3\lib\site-packages\IPython\core\formatters.py:239:FormatterWarning:image/png格式化程序中的异常:Python int太大而无法转换为C long FormatterWarning,Traceback(最近一次调用最后一次):

文件"",第1行,在runfile中('D:/username/latex_template/new_pandas_example.py',wdir ='D:/ username/latex_template')

文件"C:\ Anaconda3\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py",第580行,在runfile execfile(filename,namespace)中 …

python matplotlib python-3.x pandas

6
推荐指数
1
解决办法
7038
查看次数