小编Kal*_*icq的帖子

将FileSystemInfo数组保存到文件

我正在尝试保存FileInfo和DirectoryInfo对象的数组以用作日志文件.目标是在某个时间点捕获目录(和子目录)的映像,以便以后进行比较.我目前正在使用此类来存储信息:

public class myFSInfo
{
    public FileSystemInfo Dir;
    public string RelativePath;
    public string BaseDirectory;
    public myFSInfo(FileSystemInfo dir, string basedir)
    {
        Dir = dir;
        BaseDirectory = basedir;
        RelativePath = Dir.FullName.Substring(basedir.Length + (basedir.Last() == '\\' ? 1 : 2));
    }
    private myFSInfo() { }
    /// <summary>
    /// Copies a FileInfo or DirectoryInfo object to the specified path, creating folders and overwriting if necessary.
    /// </summary>
    /// <param name="path"></param>
    public void CopyTo(string path)
    {
        if (Dir is FileInfo)
        {
            var f = (FileInfo)Dir; …
Run Code Online (Sandbox Code Playgroud)

c# xml arrays serialization file

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

Python 定义 IFERROR 函数

我正在尝试像在 Excel 中一样在 python 中定义我自己的 IFERROR 函数。(是的,我知道我可以编写 try/ except 。我只是想为我经常使用的 try/ except 模式创建一个内联简写。)当前的用例是尝试获取一些远程表的几个属性。用于连接到它们的模块会给出各种错误,如果发生这种情况,我只想记录在尝试获取该属性时遇到的错误。

我尝试过的:搜索显示了许多线程,其中最有用的是:

Python 中频繁重复的 try/ except

Python:try- except 作为表达式?

阅读这些主题后,我尝试编写以下内容:

>>> def iferror(success, failure, *exceptions):
...     try:
...         return success
...     except exceptions or Exception:
...         return failure
...
>>> iferror(1/0,0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ZeroDivisionError: division by zero
Run Code Online (Sandbox Code Playgroud)

我还尝试使用上下文管理器(对我来说是新的):

>>> from contextlib import contextmanager as cm
>>> @cm
... def iferror(failure, *exceptions):
...     try:
...         yield
...     except exceptions or …
Run Code Online (Sandbox Code Playgroud)

python exception

5
推荐指数
1
解决办法
1万
查看次数

通过 Pandas Data-Reader 获取 Quandl 数据

我在使用 pandas-datareader 从 Quandl 导入数据时遇到问题。这是我尝试过的代码(使用真正的 API 密钥):

import pandas_datareader.data as pdr
from datetime import date

start=date(1970,1,1)
end=date.today()
ticker='F'
qkey=[My API Key]

pdr.QUANDL_API_KEY=qkey
QUANDL_API_KEY=qkey
pdrquandl=pdr.DataReader('WIKI/'+ticker,'quandl',start,end)      
pdrquandl=pdr.DataReader('WIKI/'+ticker,'quandl',start,end,api_key=qkey)
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我收到以下错误消息:

>>> pdrquandl=pdr.DataReader('WIKI/'+ticker,'quandl',start,end)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python37\lib\site-packages\pandas_datareader\data.py", line 379, in DataReader
    session=session, api_key=access_key).read()
  File "C:\Python37\lib\site-packages\pandas_datareader\quandl.py", line 54, in __init__
    raise ValueError('The Quandl API key must be provided either '
ValueError: The Quandl API key must be provided either through the api_key variable or through the environmental …
Run Code Online (Sandbox Code Playgroud)

python pandas-datareader

3
推荐指数
1
解决办法
4917
查看次数

在python中按列连接数组

我有一个数组列表,其中每个数组都是一个列表列表。我想把它变成一个包含所有列的数组。我已经尝试使用 for 循环来完成这项工作,但感觉它在列表理解中应该是可行的。有没有一个很好的单线可以做到这一点?

    Example Input: [[[1,2],[3,4],[5,6]],[[7,8],[9,10],[11,12]]]
    
    Desired Output: [[1,2,7,8],[3,4,9,10],[5,6,11,12]]
Run Code Online (Sandbox Code Playgroud)

注意:示例在主列表中只有两个数组,但我的实际数据有更多,所以我正在寻找适用于 N 个子数组的东西。

编辑:尝试解决此问题的示例

适用于两个人,但不能概括:

[input[0][i]+input[1][i] for i in range(len(input[0]))]
Run Code Online (Sandbox Code Playgroud)

这些不起作用,但表明了这个想法:

[[element for table in input for element in row] for row in table]
[[*imput[j][i] for j in range(len(input))] for i in range(len(input[0]))]
Run Code Online (Sandbox Code Playgroud)

编辑:选择的答案仅使用列表理解和 zip,但所有答案(截至目前)都有效,因此请使用最适合您的风格/用例的答案。

python arrays list concatenation

3
推荐指数
1
解决办法
107
查看次数