小编ppa*_*ojr的帖子

Python拆分列表

如果我们有一个liststringsPython和希望创建基于一些特殊的子表string,我们应该怎么办?

例如:

l = ["data","more data","","data 2","more data 2","danger","","date3","lll"]
p = split_special(l,"")
Run Code Online (Sandbox Code Playgroud)

会产生:

p = [["data","more data"],["data 2","more data 2","danger"],["date3","lll"]]
Run Code Online (Sandbox Code Playgroud)

python list

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

熊猫:缓慢的日期转换

我正在阅读CSV格式中带有日期字段的巨大内容,YYYYMMDD并且我在阅读时使用以下lambda进行转换:

import pandas as pd

df = pd.read_csv(filen,
                 index_col=None,
                 header=None,
                 parse_dates=[0],
                 date_parser=lambda t:pd.to_datetime(str(t),
                                            format='%Y%m%d', coerce=True))
Run Code Online (Sandbox Code Playgroud)

这个功能虽然很慢.

有什么建议可以改善吗?

python optimization pandas

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

核心数据addPersistentStoreWithType返回nil,但错误也是零

我正在NSPersistentStore使用下面的代码创建一个.

NSPersistentStore * pc = [persistentCoordinator 
                             addPersistentStoreWithType:EncryptedStoreType
                                          configuration:nil 
                                                    URL:databaseURL
                                                options:options 
                                                  error:error];

if (*error)
{
    NSLog(@"Unable to add persistent store.");
    NSLog(@"Error: %@\n%@\n%@", *error, [*error userInfo], [*error localizedDescription]);
}
Run Code Online (Sandbox Code Playgroud)

价值options

{
    EncryptedStore = SQLite;
    EncryptedStoreDatabaseLocation = 
 "file:///var/mobile/Containers/Data/Application/0C27F628-3FF0-467F-8EF1-5974EBBD3620/Documents/DBEncrypted.sqlite";
    EncryptedStorePassphrase = "xxxxxxxxredactedxxxxxxx";
    NSInferMappingModelAutomaticallyOption = 1;
    NSMigratePersistentStoresAutomaticallyOption = 1;
    NSSQLitePragmasOption =     {
        synchronous = OFF;
    };
}
Run Code Online (Sandbox Code Playgroud)

在这一点上*errornilpcnil太.

根据Apple的文档,如果函数返回nil应该是一个错误.有没有人看过它?

EncryptedStoreTypehttps://github.com/project-imas/encrypted-core-data

只有在我们迁移数据存储时才会发生错误

编辑: 完整的方法代码:

+ (NSPersistentStoreCoordinator *)makeStoreWithOptions:(NSDictionary *)options managedObjectModel:(NSManagedObjectModel *)objModel error:(NSError …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c ios

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

MySQL触发器为auto_increment索引生成哈希

我正在尝试创建一个生成并存储auto_increment索引的哈希的触发器,但我尝试过的所有解决方案都不起作用:

DELIMITER //
CREATE TRIGGER insertTable1 AFTER INSERT ON Table1
FOR EACH ROW 
   BEGIN
     SET NEW.hash = calc_hash_udf(NEW.id);
   END //
DELIMITER ;;
Run Code Online (Sandbox Code Playgroud)

它说我不能修改一个NEW之后INSERT,之前INSERT我没有这个auto_increment值:

错误1442(HY000):无法更新存储函数/触发器中的表'Table1',因为它已被调用此存储函数/触发器的语句使用.

mysql triggers

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

CoreData:错误:(14)数据库的I/O错误

在XCode中编译和运行时,Core Data我遇到了一个我从未见过的错误:

 2013-09-12 16:59:10.156 myapp[57811:70b] CoreData: error: 
      (14) I/O error for database at /Users/administrador/Library/
         Application Support/iPhone Simulator/7.0/Applications/
         6BA67336-B093-46CF-8B11-E3595409DAC2/myapp.app/database.sqlite.  

         SQLite error code:14, 'unable to open database file'
Run Code Online (Sandbox Code Playgroud)

生成此消息的代码是:

    psc = [[NSPersistentStoreCoordinator alloc]
                   initWithManagedObjectModel:self.managedObjectModel];
    NSURL *storeURL = [[NSBundle mainBundle] 
                         URLForResource:@"database" withExtension:@"sqlite"];
    [psc addPersistentStoreWithType:NSSQLiteStoreType 
             configuration:nil URL:storeURL 
             options:@{NSReadOnlyPersistentStoreOption : @YES} error:NULL];
Run Code Online (Sandbox Code Playgroud)

我试过Build->Clean,删除派生数据,卸载应用程序.

我在发布之前检查了这个问题,我相信问题是不同的.

注意: sqlite是应用程序的资源

使用调试建议的信息

2013-09-12 17:43:38.341 myapp[58322:70b] CoreData: annotation: Connecting to sqlite database file at "/Users/administrador/Library/Application Support/iPhone Simulator/7.0/Applications/6BA67336-B093-46CF-8B11-E3595409DAC2/myapp.app/database.sqlite"
2013-09-12 17:43:38.360 myapp[58322:70b] CoreData: sql: SELECT Z_VERSION, Z_UUID, …
Run Code Online (Sandbox Code Playgroud)

core-data objective-c ios

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

当CoreData更新时,UITableView endUpdates需要很长时间

我有一个核心数据应用程序,在一个显示大量的实例UITableView.

我们mainQueueContext在主线程中privateQueueContext运行并在后台线程中运行.

我们在UITableView中加载数据没有问题,但是当我们从API加载刷新版本时,我们将其保存到并将其privateQueueContext合并到mainQueueContext

[self.mainQueueContext mergeChangesFromContextDidSaveNotification:notification];
Run Code Online (Sandbox Code Playgroud)

触发呼叫需要几秒钟

-(void)controllerDidChangeContent:(NSFetchedResultsController *)controller
Run Code Online (Sandbox Code Playgroud)

触发调用的是:

[self.tableView endUpdates];
Run Code Online (Sandbox Code Playgroud)

然后应用程序挂起,CPU进入100%,内存开始无限上升,直到内存不足为止.(见下图)

CPU处理过程中

endUpdates期间的内存消耗

少于1000个元素,这个问题不会发生.我想知道你是否有人看到过这样的事情.

编辑

这是仪器的一些数据 仪器数据显示endUpdates

core-data objective-c uitableview ios

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

密钥更改后的RLMException - 已经使用不同的加密密钥打开

我有一个应用程序,在注销后,出于合规性原因,需要擦除所有Realm数据并更改加密密钥.

这不是很相同的情况后writeCopy(TOFILE RLMException"在道路境界'’已用不同的加密密钥打开":,:)的encryptionKey

我确保在释放所有Realm对象后删除所有文件.

+ (void)deleteRealm:(BOOL)emptyDatabase numRetries:(NSUInteger)numRetries
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"AppDataStoreWillFlushDatabaseNotification" object:self];

    if (emptyDatabase)
    {
        @autoreleasepool {
            RLMRealm *realm = [RLMRealm defaultRealm];
            [realm transactionWithBlock:^{
                [realm deleteAllObjects];
            }];
            [realm invalidate];
        }
    }

    NSFileManager *manager = [NSFileManager defaultManager];
    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
    NSArray<NSURL *> *realmFileURLs = @[
        config.fileURL,
        [config.fileURL URLByAppendingPathExtension:@"lock"],
        [config.fileURL URLByAppendingPathExtension:@"log_a"],
        [config.fileURL URLByAppendingPathExtension:@"log_b"],
        [config.fileURL URLByAppendingPathExtension:@"note"],
        [[config.fileURL URLByDeletingLastPathComponent] URLByAppendingPathComponent:[NSString stringWithFormat:@"%@.realm.management", [[config.fileURL URLByDeletingPathExtension] lastPathComponent]]]
    ];
    for (NSURL *URL in realmFileURLs)
    {
        NSError *error = nil;
        [manager removeItemAtURL:URL error:&error];
        if (error)
        { …
Run Code Online (Sandbox Code Playgroud)

objective-c realm ios

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

Windows驱动程序开发:Visual Studio 2012中缺少部署选项

我试图编译和部署从MSDN调用获得WFP样本,msnmntr但同样的问题适用于所有样本.

此示例和所有示例都无法部署,因为Visual Studio 2012 Ultimate中缺少文档中的一个步骤.

它说:

1)打开驱动程序包的属性页.在Solution Explorer中右键单击驱动程序包项目,然后选择"属性".

2)在驱动程序包的属性页中,单击"配置属性",单击"驱动程序安装",然后单击"部署".

但是,Visual Studio 2012中没有这样的选项,您可以在下面的屏幕中看到:

在此输入图像描述

我想知道我做错了什么.

wdk device-driver visual-studio wfp

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

IOS:如何使用Google驱动器sdk库将文件上传到特定的Google云端硬盘文件夹

我将Google drive sdk与我的iOS应用集成在一起.但我不知道如何将文件上传到Google驱动器特定文件夹.

这里的代码用于上传文件.但是这个上传文件到我的谷歌驱动器根文件夹.任何人共享代码将文件上传到谷歌驱动器特定文件夹?

我的代码:

-(void)uploadFileToGoogleDrive:(NSString*)fileName
{    
GTLDriveFile *driveFile = [[[GTLDriveFile alloc]init] autorelease];

driveFile.mimeType = @"application/pdf";
driveFile.originalFilename = @"test.doc";
driveFile.title = @"test.doc";

NSString *filePath = [LocalFilesDetails getUserDocumentFullPathForFileName:fileName isSignedDocument:YES];

GTLUploadParameters *uploadParameters = [GTLUploadParameters
                                         uploadParametersWithData:[NSData dataWithContentsOfFile:filePath]
                                         MIMEType:@"application/pdf"];    

GTLQueryDrive *query = [GTLQueryDrive queryForFilesInsertWithObject:driveFile
                                    uploadParameters:uploadParameters];

[self.driveService executeQuery:query 
  completionHandler:^(GTLServiceTicket *ticket,
                       GTLDriveFile *updatedFile,
                       NSError *error) {
    if (error == nil) {
        NSLog(@"\n\nfile uploaded into google drive\\<my_folder> foler");
    } else {
        NSLog(@"\n\nfile uplod failed google drive\\<my_folder> foler");            
    }
}];
}
Run Code Online (Sandbox Code Playgroud)

ios google-drive-api

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

打开新窗口angularjs后在控制器之间共享变量

我处于这样一种情况,我必须将用户定义的对象从一个控制器传递到另一个控制器,该控制器在新窗口中打开.我尝试了几种常见的方法,比如$emit使用工厂或服务的$ rootScope,$broadcast从那里到第二个控制器.

但我总是陷入根深蒂固.我可以在那里记录变量,但是当新窗口打开时它们似乎消失了(甚至在新窗口的控制台中都没有出现未定义的变量).我可以从rootscope获得固定变量,但是没有从第一个控制器发出的任何变量.

有没有人知道如何解决这个问题?

这是我的代码:

// SHARING DATA BETWEEN CONTROLLERS VIA ROOT SCOPE:

var table_app = angular.module("tableApp", [])
.factory("sharedVars", function($rootScope, $log) {
    /*
     Receive emitted message and broadcast it.
     */
    $rootScope.$on("handleEmit", function(event, object){
        var value1 = object.data1;
        var value2 = object.data2;
        var value3 = object.data3;
        $log.log(value2, value3)           // WORKS
        $rootScope.$broadcast("handleBroadcast", 
            {data1: value1, data2: value2, data3: value3});
    })

    // JUST TO CHECK IF I CAN GET DATA FROM HERE:
    return { fixedSharedObject: {data1: 22, data2: 33, data3: …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-service

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