小编JSc*_*rtz的帖子

为什么我不能在同一数据上迭代两次?

老实说,我在这里有点困惑,为什么我不能在相同的数据上迭代两次?

def _view(self,dbName):
    db = self.dictDatabases[dbName]
    data = db[3]

    for row in data:
        print("doing this one time")

    for row in data:
        print("doing this two times")
Run Code Online (Sandbox Code Playgroud)

这将打印出"一次这样做"几次(因为数据有几行),但它根本不会打印出"这样做两次"......

我第一次迭代数据工作正常,但第二次当我运行最后一个列表"for data in data"时,这没有返回...所以执行它一次工作但不是两次......?

仅供参考 - 数据是一个csv.reader对象(如果是这样的原因)......

python

34
推荐指数
4
解决办法
2万
查看次数

NLog配置为自动记录所有异常?

有没有办法配置NLog自动记录我的应用程序可以发送的所有异常?目前我将去所有TRY/CATCH块并在CATCH中手动添加日志记录 - 但如果我错过了一些怎么办?如果将来其他人做了什么呢?

有没有办法告诉NLog始终记录所有异常?特别是一些没有被捕获并可能导致弹出窗口?

c# nlog

13
推荐指数
1
解决办法
7700
查看次数

连接字符串中的%APPDATA%不替换实际文件夹?

当使用WPF和实体框架时,我有一个APP.CONFIG,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
     <add name="DatabaseEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;Data Source=%APPDATA%\Folder\Database.sdf&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

使用此代码时,它始终抛出以下错误:

System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlServerCe.SqlCeException: The path is not valid. Check the directory for the database. [ Path = %APPDATA%\Folder\Database.sdf ]
Run Code Online (Sandbox Code Playgroud)

当我从命令提示符运行路径"%APPDATA%\ Folder\Database.sdf"时它工作正常,如果我删除"%APPDATA%并硬编码路径它工作正常 - 所以它看起来像%APPDATA%是只是没有替换实际文件夹...

谢谢,

c# wpf entity-framework sql-server-ce

9
推荐指数
1
解决办法
9747
查看次数

与多个项目共享nlog配置和正确的线程安全方式写入同一个日志文件?

我的程序包含一个EXE和6个DLL(当然每个人都引用了所有人),我目前有一个原始的静态日志记录类(Logger),它在自己的DLL(Logger.dll)中,我作为每个的参考添加我的项目和使用...但我没有重新发明轮子,我想用nLog替换它.

问题是我似乎无法弄清楚我的所有项目如何共享相同的nLog配置文件(我希望所有日志记录到SAME文件,我不想为每个项目定义配置文件).

  1. 有没有办法为我的所有项目都有一个配置文件?
  2. 这样做安全吗?将nLog登录访问同一文件的每个项目不会导致争用问题?nLog是否已正确处理此问题?

或者我最好将nLog包装在我的静态Logger.dll中(奇怪但要做也会工作)并继续像我今天在我的应用程序中做的事情一样?

谢谢,

c# nlog

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

如何使用stringformat以编程方式设置文本框的绑定?

我如何以编程方式执行以下操作(来自XAML):

<TextBox Name="OrderDateText"
         Text="{Binding Path=OrderDate, StringFormat=dd-MM-yyyy}"

public DateTime OrderDate
Run Code Online (Sandbox Code Playgroud)

现在我有以下内容

TextBox txtboxOrderdDate = new TextBox();
Run Code Online (Sandbox Code Playgroud)

而且我知道我需要做类似的事情

  Binding bindingOrderDate = new Binding();
  bindingOrderDate.Source = "OrderDate";
Run Code Online (Sandbox Code Playgroud)

但我被困在这里......不知道如何继续应用StringFormat,我也不确定SOURCE是正确的方法(我应该使用ElementName吗?)

c# wpf textbox

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

客户端ConnectionAbortedError:[WinError 10053]等待响应时s.recv(4096)

在本地运行的简单服务器 - 客户端python 3.x应用程序(在同一台机器上)来回发送简单消息.

我不确定为什么但是经常等待来自服务器的响应我的客户端得到以下错误然后终止

pickledResponse = s.recv(4096);
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
Run Code Online (Sandbox Code Playgroud)

什么可能导致这个?可能是超时还是什么?寻找一种方法来避免这种情况,因为这是一个学校项目的本地计划真的一切都很好:)

谢谢,

python sockets

5
推荐指数
0
解决办法
5737
查看次数

当键是字符串(名称)时,按字母顺序对字典进行排序

首先,我知道有很多关于字典排序的帖子,但我找不到一个完全符合我的情况的帖子 - 我只是不理解排序的(... lambda)东西 - 所以这里就是这样.

使用Python 3.x我有一个这样的字典:

dictUsers[Name] = namedTuple(age, address, email, etc...)
Run Code Online (Sandbox Code Playgroud)

作为一个例子,我的字典看起来像

[John]="29, 121 bla, some@la.com"
[Jack]="32, 122 ble, some@la.com"
[Rudy]="42, 123 blj, some@la.com"
Run Code Online (Sandbox Code Playgroud)

现在打印我做以下(响应是字典):

for keys, values in response.items():
    print("Name= " + keys)
    print ("   Age= " + values.age)
    print ("   Address= " + values.address)
    print ("   Phone Number= " + values.phone)
Run Code Online (Sandbox Code Playgroud)

当用户要求打印出用户数据库时,我希望它根据用作KEY的"名称"按字母顺序打印.

我得到了一切 - 但它没有排序 - 在开始手动排序之前我想也许有一种内置的方法来做...

谢谢,

python sorting dictionary

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

如何将文本文件 (CSV) 解析为 haskell 以便我可以对其进行操作?

我有一个具有以下格式的纯文本文件:

ID|COUNT|Desc
1|100|Something
2|100|More
1|15|Whatever
Run Code Online (Sandbox Code Playgroud)

我需要将它加载到 Haskell 中,以便我可以执行一些操作(在 GROUP-BY ID 和 SUM COUNT 的情况下),我正在寻找方法来做到这一点 - 我不能使用任何其他模块/包的一件事(这是一个学校项目 - 试图用任何内置的东西来弄清楚)。

我正在做一些研究,发现 Text.CSV 作为一个选项,但无法真正理解它是如何工作的(也找不到任何示例 - 这很可怕) - 在我花了很多时间想知道这是否正确之前方法 - 任何建议、想法或示例将不胜感激。

请记住,无论它如何存储,我都必须在之后以某种方式处理数据。


我现在正在尝试这种方法:

main::IO()
main = do
       dbSales <- readFile "la.txt"
       let sales = lines dbSales
       (result, x, y) <- mapify sales
       print result

mapify :: [String] -> Map Int Int
mapify = Prelude.foldr (\s m -> let (id:count:desc) = (splitWhen (=='|') s)
                                    i = read id
                                    c = read count
                                 in insertWith (+) …
Run Code Online (Sandbox Code Playgroud)

haskell

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

DataGrid项目源绑定未在WPF中更新和绑定不起作用

当itemsource以编程方式更改时,我无法成功更新我的WPF Datagrid.

XAML

<DataGrid Name="ReaderGrid" ItemsSource="{Binding myData}" Height="Auto" Width="Auto" AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="False" CanUserResizeRows="False" CanUserReorderColumns="False" IsReadOnly="True" GridLinesVisibility="None">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Count" Width="*" FontSize="14" Binding="{Binding count}" />
        <DataGridTextColumn Header="Total" Width="*" FontSize="14" Binding="{Binding total}" />
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

XAML.CS(代码隐藏)

public partial class MainWindow : Window
{
    public ObservableCollection<obj> myData { get; set; }

    public MainWindow()
    {
        InitializeComponent();

        myData = new ObservableCollection<obj>();
        InitializeMyData();
Run Code Online (Sandbox Code Playgroud)

最后一个函数(InitializeMyData())只是用测试信息填充myData.

最后,对象只是一些测试类

public class obj
{
    public int count { get; set; }
    public double total { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

代码AS-IS不起作用,除了WPF中的数据网格为空之外没有错误 …

c# wpf binding datagrid

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

如何在GO编程中更改特定索引处的byte[]中的某些字节?

我有一个 []byte ,它本质上是一个字符串,在这个数组中我找到了我想使用索引更改的内容:

content []byte
key []byte
newKey []byte
i = bytes.Index(content, key)
Run Code Online (Sandbox Code Playgroud)

所以我在内容中找到了密钥(在索引 I 处),现在我想用 newKey 替换密钥,但我似乎找不到添加它的方法,我正在尝试明显行不通的事情:)

content[i] = newKey
Run Code Online (Sandbox Code Playgroud)

是否有一些函数允许我在 content []byte 中用“newKey”替换“key”?

谢谢,

byte go

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