小编Mar*_*ryl的帖子

Python FTP按日期获取最新文件

我使用ftplib连接到ftp站点.我想获取最近上传的文件并下载它.我能够连接到ftp服务器并列出文件,我也将它们放在一个列表中并获得datefield转换.是否有任何功能/模块可以获取最近的日期并从列表中输出整行?

#!/usr/bin/env python

import ftplib
import os
import socket
import sys


HOST = 'test'


def main():
    try:
        f = ftplib.FTP(HOST)
    except (socket.error, socket.gaierror), e:
        print 'cannot reach to %s' % HOST
        return
    print "Connect to ftp server"

    try:
        f.login('anonymous','al@ge.com')
    except ftplib.error_perm:
        print 'cannot login anonymously'
        f.quit()
        return
    print "logged on to the ftp server"

    data = []
    f.dir(data.append)
    for line in data:
        datestr = ' '.join(line.split()[0:2])
        orig-date = time.strptime(datestr, '%d-%m-%y %H:%M%p')


    f.quit()
    return


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

python linux ftp ftplib

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

使用FtpWebRequest下载文件

我正在尝试使用下载文件FtpWebRequest.

private void DownloadFile(string userName, string password, string ftpSourceFilePath, string localDestinationFilePath)
{
    int bytesRead = 0;
    byte[] buffer = new byte[1024];

    FtpWebRequest request = CreateFtpWebRequest(ftpSourceFilePath, userName, password, true);
    request.Method = WebRequestMethods.Ftp.DownloadFile;

    Stream reader = request.GetResponse().GetResponseStream();
    BinaryWriter writer = new BinaryWriter(File.Open(localDestinationFilePath, FileMode.CreateNew));

    while (true)
    {
        bytesRead = reader.Read(buffer, 0, buffer.Length);

        if (bytesRead == 0)
            break;

        writer.Write(buffer, 0, bytesRead);
    }        
}
Run Code Online (Sandbox Code Playgroud)

它使用CreateFtpWebRequest我创建的这个方法:

private FtpWebRequest CreateFtpWebRequest(string ftpDirectoryPath, string userName, string password, bool keepAlive = false)
{
    FtpWebRequest request = …
Run Code Online (Sandbox Code Playgroud)

.net c# ftp ftpwebrequest c#-4.0

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

使用Inno Setup,如何导入证书.cer文件?

我可以使用Inno Setup导入.cer文件(证书)吗?

我该怎么做?

我需要为Windows XP,Windows Vista和Windows 7创建证书安装程序.

installation installer inno-setup distribution certificate

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

Inno Setup - 如何在安装开始之前复制文件?

在Inno Setup启动之前或"select directory"页面之前,我需要将文件复制到一个文件夹.我希望从安装程序复制此文件,而不是从外部源复制,如果有人可以举例.

我使用这段代码:

function NextButtonClick(PageID: Integer): Boolean;
begin
  Result := True;
  if (PageId = wpWelcome) then
  begin
    FileCopy(
      ExpandConstant('file.exe'),
      ExpandConstant('{reg:HKCU\SOFTWARE\XXX,InstallPath}\file.exe'), false);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我希望有人用一个例子给出一个更好的主意.
谢谢你们.

inno-setup

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

如何使用ISSkin库将皮肤应用于Inno Setup卸载程序?

我知道,如何 Inno Setup的安装程序部分中应用带有ISSkin插件的皮肤,但我无法弄清楚,如何为Inno Setup卸载程序执行相同操作.

如何将带有ISSkin插件的皮肤也应用于卸载程序?

inno-setup

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

为什么RegisterClass失败并出现ERROR_NOT_ENOUGH_MEMORY?

不久,我的问题是,当有大量内存空闲时,为什么WinAPI RegisterClass会失败ERROR_NOT_ENOUGH_MEMORY,我该怎么做才能阻止它呢?

背景: 我正在开发一个应用程序(WinSCP FTP/SFTP客户端),许多人使用它来自动执行文件传输.有些是从Windows Scheduler每天每分钟运行一次.

我收到很多报告,经过一定数量的运行后,应用程序停止工作.触发问题的运行次数似乎并不准确,但它在数万甚至数十万的范围内.此外,似乎只有在Windows Scheduler下运行时才会出现问题,而不是在常规Windows会话中运行时.虽然我无法100%确认这一点.

此外,所有报告似乎都适用于Windows 2008 R2 +一些适用于Windows 7.同样,这可能只是巧合.

我自己能够在Windows 7上重现该问题.一旦系统进入此状态,我的应用程序就不再在Scheduler的会话中启动.但它在正常的常规会话中开始很好.而且一些其他应用程序(不一定全部)甚至在Scheduler的会话中启动.同样在这种状态下我无法调试应用程序,因为它甚至在调试器(或Process Monitor等工具)运行时都没有加载.

该应用程序使用Embarcadero(前Borland)C++ Builder VCL库.它在VCL初始化代码中崩溃(我WinMain甚至没有启动)并退出代码3.检查初始化代码正在做什么,我可能能够识别触发崩溃的代码(尽管它可能只是众多可能的代码之一)原因).

罪魁祸首似乎是RegisterClass返回8(ERROR_NOT_ENOUGH_MEMORY)的WinAPI函数.发生这种情况时,VCL代码会抛出异常; 并且因为还没有异常处理程序,它会崩溃应用程序.

我使用在VS 2012中开发的非常简单的C++控制台应用程序验证了这一点(将问题与C++ Builder和VCL隔离开来).核心代码是:

SetLastError(ERROR_SUCCESS);
fout << L"Registering class" << std::endl;
WNDCLASS WndClass;
memset(&WndClass, 0, sizeof(WndClass));
WndClass.lpfnWndProc = &DefWindowProc;
WndClass.lpszClassName = L"TestClass";
WndClass.hInstance = GetModuleHandle(NULL);
ATOM Atom = RegisterClass(&WndClass);
DWORD Error = GetLastError();
// The Atom is NULL and Error is ERROR_NOT_ENOUGH_MEMORY here
Run Code Online (Sandbox Code Playgroud)

(测试应用程序的完整代码在最后)

尽管有错误,但它似乎不是内存问题.通过在RegisterClass调用之前和之后分配10 MB内存来验证的内容(可以在最后的完整测试代码中看到).

绝望,我甚至偷看了Wine的实施 …

c++ winapi vcl memory-management out-of-memory

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

在Wine应用程序中检测Unix主页

我的Windows应用程序经常在使用Wine的*nix上使用.

由于它是一个以文件为中心的应用程序,它经常使用(并呈现给用户)Windows"文档"文件夹(使用时解析CSIDL_PERSONAL).不幸的是,在Wine下,指向假的Wine/Windows目录通常是空的和未使用的.我想将用户指向他的Unix主文件夹.

有没有可靠的方法来找出它在葡萄酒下的位置?

我希望我能读取HOME环境变量,但它不会导出(与大多数其他变量相反)到Windows环境.

目前我猜测家里正在使用Z:\home\%USERNAME%.但这对我来说并不健全.

如果没有办法找到主目录,是否至少有一种方法可以检测Wine根驱动器(Z:默认情况下),所以我不需要硬编码至少一个驱动器部分的路径?

unix wine home-directory

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

JSch 从字符串中添加私钥

我将 SFTP 的密钥对文件的内容作为字符串。我需要使用 JSch 添加内容,但addIdentity只接受文件路径。无论如何我可以做到这一点吗?

我看到这个KeyPair类有一个方法 -

KeyPair load(JSch jsch, byte[] bytes, byte[] bytes1)
Run Code Online (Sandbox Code Playgroud)

我不确定这是做什么的。

java ssh sftp jsch private-key

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

在 SSH.NET 中使用 PPK 密钥进行身份验证

我正在创建一个窗口服务,用于从 SFTP 服务器下载文件。为此,我正在使用Renci.SshNet,Renci.SshNet.CommonRenci.SshNet.Sftp.

我有这个代码:

String Host = "HostName";
int Port = 22;
String RemoteFileDirectory =
    Convert.ToString(ConfigurationManager.AppSettings["SourcePath"]);
String Username = "UserName";
String Password = "*******";

var KeybasedMethod = new KeyboardInteractiveAuthenticationMethod(Username);
KeybasedMethod.AuthenticationPrompt +=
    (sender, e) => { e.Prompts.First().Response = password; };

AuthenticationMethod[] methods = new AuthenticationMethod[] 
{
    new PrivateKeyAuthenticationMethod(Username, new PrivateKeyFile(@"Z:\SFTP SETUP\CJ22")),
    KeybasedMethod
};
ConnectionInfo connectionInfo = new ConnectionInfo(hostname, username, methods);

using (var sftp = new SftpClient(connectionInfo))
{
    sftp.Connect();
    // ...
}
Run Code Online (Sandbox Code Playgroud)

我得到例外。

私钥文件无效。

我无法弄清楚我的代码中缺少什么。

下面是我使用 …

.net c# ssh sftp ssh.net

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

如何自动更新使用 Inno Setup 安装的应用程序

我有一个适用于 Windows 的可执行应用程序 setup.exe,我使用基于 Java 的 Launch4j/Inno Setup 实现。

我经常发布新版本和错误修复。

我想知道是否有自动安装更新的机制?

windows inno-setup self-updating launch4j

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