python中文件的管理和oc中的文件管理
Python中對文件進行操作:
1.首先打開文件,得到文件句柄並賦值給一個變量。
2.對文件進行操作。
3.關閉文件。
我們先來打開一個文件,一般變量用f表示
f = open(‘filename‘,‘打開文件的模式‘,encoding = ‘編碼格式’)
f.readline()讀取一行的內容
f.read()讀取整個文件的內容
f.tell() 當前文件讀取到的位置
f.seek()將文件所讀到的位置撤回
f.fileno()返回文件句柄的標號
f.isatty()是不是終端設備
f.wirte()
打開文件的模式
r :只讀模式。
w:只寫模式 不可讀 不存在的就創建 存在的就刪內容
a: 追加模式。 可讀 不存在就創建:存在就追加內容
r+:可讀可寫文件
w+:寫讀文件。
a+:跟a的模式一樣
"U"表示在讀取時,可以將 \r \n \r\n自動轉換成 \n
ru或者r+u
b表示處理二進制文件
rb 讀二進制文件
wb 寫二進制文件
ab 追加二進制文件
補充一點 我們也可以使用 with open(‘filename‘,‘打開文件的模式‘,encoding = ‘編碼格式’)as f 來打開文件這樣我們就不用寫f。close()
以上是python中的文件操作,接下來我們再來看一下oc中文件的操作。
ios中是一種沙盒的機制,一個應用只能訪問當前應用目錄下的文件內容,每個沙盒中有三個文件夾
documents:常用目錄,iCloud備份目錄,存放數據,不能存緩存文件,否則上架不通過。
library:這個文件下有兩個文件 caches:存放體積大不需要備份的數據,例如音樂,視頻,sdwebimage緩存。
preference:存放一些偏好設置。
tmp:臨時文件,不會備份,而且這個文件下的數據可能隨時刪除。
獲取沙盒的跟路徑:
NSString *direntoryHome = NSHomeDirectory();
獲取documents目錄文件
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [path objectAtIndex:0];
獲取library目錄文件
NSArray *path = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [path objectAtIndex:0];
獲取cache目錄文件
NSArray *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [path objectAtIndex:0];
獲取Tmp目錄路徑
NSString *string = NSTemporaryDirectory();
創建文件夾
NSArray *path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [path objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *textDirectory = [documentsDirectory stringByAppendingPathComponent:@"test"];
BOOL res = [fileManager createDirectoryAtPath:textDirectory withIntermediateDirectories:YES attributes:nil error:nil];
創建文件
[fileManager createFileAtPath:testPath contents:nil attributes:nil];
刪除某個文件
[fileManager removeItemAtPath:testPath error:nil];
檢查某個文件是否存在
[fileManager fileExistsAtPath:testPath];
檢查某個文件是否可讀
[fileManager isReadableFileAtPath:testPath];
寫數據到文件
[@"" writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];
讀取文件的內容
[NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil];
文件或目錄的移動
[manager moveItemAtPath:filePath toPath:filePath2 error:nil]
文件的復制
[manager copyItemAtPath:filePath2 toPath:filePath3 error:nil]
python中文件的管理和oc中的文件管理