小编COD*_*ODe的帖子

Python,命令行参数解析

你如何接受/解析没有类的py文件的命令行参数?这是我的文件test.py中的内容:

import sys

if __name__ == '__main__':
Run Code Online (Sandbox Code Playgroud)

当通过命令行执行文件时,如何获取参数?我叫它通过:

python test.py <arg1>
Run Code Online (Sandbox Code Playgroud)

并且显然想要"arg1"的值.

python command-line-arguments

5
推荐指数
2
解决办法
2364
查看次数

双击shell脚本问题(Mac上的.COMMAND)

尝试通过双击在Mac上运行以下test.command脚本.(要求:必须双击运行)

#!/bin/sh
sudo java -jar ExecutableJar.jar
Run Code Online (Sandbox Code Playgroud)

这是输出.(终端保持打开状态,显示以下信息)

Last login: Mon Aug 13 15:59:05 on ttys001
/Applications/Application\ Folder/test.command ; exit;
code-mac:~ code$ /Applications/Application\ Folder/test.command ; exit;
Unable to access jarfile ExecutableJar.jar
logout

[Process completed]
Run Code Online (Sandbox Code Playgroud)

当我从终端运行相同的命令时......

sudo java -jar ExecutableJar.jar
Run Code Online (Sandbox Code Playgroud)

...它工作正常并按预期打开可执行jar(提示输入密码后).有任何想法吗?另外,如果可能的话,我希望脚本要么根本不打开终端,要么在启动可执行jar之后至少关闭终端.

谢谢!

macos shell terminal

4
推荐指数
1
解决办法
5531
查看次数

C#.net - > SQLite错误:无法打开数据库文件

我收到"System.Data.SQLite.SQLiteException:无法打开数据库文件." 当我尝试访问数据库以在我的程序"第一次"打开时保存记录.

这是事情,它在Visual Studio中本地调试时工作正常,但是当我在安装程序中打包程序时停止工作,然后在某处安装程序.

我猜测它是数据库的位置,我刚刚在没有路径的database.s3db中设置了它,因为它存储在程序的exe旁边,但是怎么会导致问题呢?

我很茫然,任何有关解决这个问题的进一步想法或建议都将不胜感激.

.net c# sqlite system.data.sqlite

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

指定的初始化向量(IV)与此算法的块大小不匹配

   public static string GenerateKey()
   {
        AesCryptoServiceProvider aesCrypto = (AesCryptoServiceProvider)AesCryptoServiceProvider.Create();

        // Use the Automatically generated key for Encryption. 
        return ASCIIEncoding.ASCII.GetString(aesCrypto.Key);
    }

    static void EncryptFile(string sInputFilename, string sOutputFilename, string sKey)
    {
        FileStream fsInput = new FileStream(sInputFilename, FileMode.Open, FileAccess.Read);

        FileStream fsEncrypted = new FileStream(sOutputFilename, FileMode.Create, FileAccess.Write);
        AesCryptoServiceProvider AES = new AesCryptoServiceProvider();
        // Sets the appropriate block size for the AES Encryption Method
        AES.BlockSize = 128;
        AES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
        AES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
        ICryptoTransform aesencrypt = AES.CreateEncryptor();
        CryptoStream cryptostream = new CryptoStream(fsEncrypted, aesencrypt, CryptoStreamMode.Write);

        byte[] …
Run Code Online (Sandbox Code Playgroud)

.net c# aes aescryptoserviceprovider visual-studio-2008

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

C#从后台线程更新Windows窗体中的UI

http://www.codeproject.com/KB/threads/winformsthreading.aspx

我试图使用上面的内容,虽然它在某种意义上起作用(它没有锁定我的应用程序),但它不会更新UI上的标签.我在某个地方出错了吗?我在MainForm,expiredPoliciesLabel和missingPoliciesLabel上有两个标签.要更新它们,我必须通过执行一系列数据库查询来设置expiredPoliciesNum和missingPoliciesNum,如您所见.我需要标签每分钟左右自动更新.(我现在知道我将它设置为1秒,只是看代码是否正常工作)

这是我的代码.

public delegate void updatePolicyLabelsDelegate();

public partial class MainForm: Form
{
    SQLiteQuery sqliteQuery = new SQLiteQuery(Properties.Settings.Default.DatabasePath);
    int expiredPoliciesNum = 0;
    int missingPoliciesNum = 0;
    Thread minimizeThread;

    public MainForm()
    {
        this.Resize += new EventHandler(MainForm_Resize);
        this.IsMdiContainer = true;
        InitializeComponent();
        this.ShowInTaskbar = false;

        keyValidation();

        Thread bottomLabelsThread = new Thread(new ThreadStart(updateLabels));
        bottomLabelsThread.IsBackground = true;
    }

    public void updateLabels()
    {
        while (true)
        {
            Invoke(new updatePolicyLabelsDelegate(updatePolicyLabels));
            Thread.Sleep(1000);
        }
    }

    private void updatePolicyLabels()
    {
        DataTable dt = sqliteQuery.selectFromDatabase("*", "WHERE GLOPolicy != '1'");
        missingPoliciesNum = dt.Rows.Count; …
Run Code Online (Sandbox Code Playgroud)

c# multithreading winforms

2
推荐指数
1
解决办法
5966
查看次数

如何:在SQLite查询中表示NULL

我有一个使用SQLite编写的SQLite数据库winforms应用程序.我正在尝试使用C#包装器执行一些SQLite查询,但是我在检查NULL值时遇到了一些问题.这是调用语句.

sqliteQuery.selectFromDatabase("*", "WHERE (FirstNotify = NULL) AND (SecondNotify != NULL) AND (ThirdNotify = NULL)");
Run Code Online (Sandbox Code Playgroud)

这是它背后的代码.

public DataTable selectFromDatabase(String column, String filter)
    {
        string SQL = "SELECT " + column + " FROM SUBCONTRACTOR " + filter;
        SQLiteCommand cmd = new SQLiteCommand(SQL);
        cmd.Connection = connection;
        SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
        DataSet ds = new DataSet();
        try
        {
            da.Fill(ds);
            DataTable dt = ds.Tables[0];
            return dt;
        }
        catch (Exception e)
        {
            MessageBox.Show(e.ToString());
            return null;
        }
        finally
        {
            cmd.Dispose();
            connection.Close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

当它应该返回几条记录时,查询根本不返回任何内容.我正确处理NULL检查吗?我发现了一些其他帖子使用WHERE(VAR IS …

c# sqlite winforms

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

C中的递归打印功能

该程序目前不输出任何内容.该程序用于获取整数命令行值,然后使用递归打印功能打印多次"测试".我是C的新手,无法弄清楚程序无法正常工作的原因,我没有收到任何编译错误.(仍在努力熟悉gdb)

#include <stdio.h>

void myfunc(int num)
{
    if(num <= 0)
    {
        return;
    }
    else
    {
        printf("%s \n", "Test");
        myfunc(num-1);
        return;
    }
}

int main (int argc, char *argv[])
{
    int i;
    i = atoi(argv[0]);
    myfunc(i);
}
Run Code Online (Sandbox Code Playgroud)

c recursion

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

从GetClipboardData本机方法获取byte []

我正在尝试使用C#/ .NET 使用此本机方法获取剪贴板数据.问题是我正在破坏数据.这是我的代码:

IntPtr pointer = GetClipboardData(dataformat);
int size = Marshal.SizeOf(pointer);
byte[] buff = new byte[size];
Marshal.Copy(data, buff, 0, size);
Run Code Online (Sandbox Code Playgroud)

这是我用于GetClipboardData方法的pinvoke:

[DllImport("user32.dll")]
private static extern IntPtr GetClipboardData(uint uFormat);
Run Code Online (Sandbox Code Playgroud)

谁能告诉我哪里出错了?

.net c# clipboard unmanaged intptr

0
推荐指数
1
解决办法
1531
查看次数