Вход в файл на iPhone

Полагаю, вы могли бы добавить

import sys
sys.path.append('subdir')

from subdir import sub1

к вашему main.py, таким образом, он получит все относительные значения импорта в этой подпапке для вас, нет необходимости каждый раз вызывать подпапку

и в sub1.py просто

from sub2 import foo
18
задан Mike McMaster 14 October 2008 в 18:36
поделиться

4 ответа

Я успешно использовал freopen (...) по телефону для перенаправления вывода в мой собственный файл.

18
ответ дан 30 November 2019 в 05:43
поделиться

Если Вы хотите использовать Какао, NSString и NSData имеют методы для чтения/записи в файл, и NSFileManager дает Вам операции файла. Вот пример (должен работать над iPhone):

NSData *dataToWrite = [[NSString stringWithString:@"String to write"] dataUsingEncoding:NSUTF8StringEncoding];

NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"fileName.txt"];

// Write the file
[dataToWrite writeToFile:path atomically:YES];

// Read the file
NSString *stringFromFile = [[NSString alloc] initWithContentsOfFile:path];  

// Check if file exists
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager fileExistsAtPath:path]; // Returns a BOOL    

// Remove the file
[fileManager removeItemAtPath:path error:NULL];

// Cleanup
[stringFromFile release];
[fileManager release];
32
ответ дан 30 November 2019 в 05:43
поделиться

Этот код работает на меня:

- (void)applicationDidFinishLaunching:(UIApplication *)application {
#if TARGET_IPHONE_SIMULATOR == 0
    freopen([@"/tmp/my_logs.txt" fileSystemRepresentation], "w", stderr);
#endif
}
11
ответ дан 30 November 2019 в 05:43
поделиться
4605366-

Этот код отлично подходит для меня ..

#if TARGET_IPHONE_SIMULATOR == 0
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
    freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
#endif

Вы можете получить файл журнала с iPhone, используя метод, указанный здесь http://blog.coriolis.ch/2009 / 01/09 / Redirect-nslog-to-a-file-on-iPhone / # TOR-85

Обратите внимание, что использование FreoPen остановит консоль в работе XCode .. Однако по какой-то причине консоль вы можете Вид на Организатор XCode еще отлично работает.

14
ответ дан 30 November 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: