Matlab: fullfile、fileparts、mfilename、genpath 関数

目次

序文

一、フルファイル

1.機能

2. 文法

3. 入力と出力

3.1 入力

3.2 出力

4. 説明

5. 例

5.1 Windows での完全なファイル パスの作成

5.2 UNIX での完全なファイル パスの作成

5.3 Windows での複数のファイルへのパスの作成

5.4 Windows システムでのファイル区切り記号とドットの折り畳み

 2、ファイルパーツ

1.機能

2. 文法

3. 入力と出力

3.1 入力

3.2 出力

4. 説明

5. 例

5.1 Windows ファイル名のコンポーネントを取得する

5.2 Linux Dotfile ファイル名のコンポーネントを取得する

5.3 文字列の配列からファイル名の一部を取得する

 3. ファイル名

1.機能

2. 文法

3. 説明

 4、ゲンパス

1.機能

2. 文法

3. 入力

4. 説明

5. 例

検索パスにフォルダーとサブフォルダーを追加する



序文

最近、私は EpicFlow の実装を学んでいます。元のプロジェクトのgit リンクを示します。元の作成者はプログラミングに 64 ビット Linux を使用しており、コードには matlab ファイルも含まれているため、単に関連する matlab 関数をコードの視点。

一、フルファイル

1.機能

個々の部分から完全なファイル名を作成します。

2. 文法

f = フルファイル(パート1、パート2、...、パートN)

3. 入力と出力

3.1 入力

part1,...,partN — フォルダーまたはファイル名の
文字ベクトル | string 配列 | 文字ベクトルの cell 配列

例: fullfile('c:\','user','docs')

例: fullfile('\\','Server01','user','docs')

例: fullfile('home','users','docs',{'myfile.m', 'myfile2.m'})

データ型: char  |  cell | string

3.2 出力

f — 完全なファイル名
char 配列 | string 配列 | 文字ベクトルの cell 配列

完全なファイル名。文字配列、string 配列、または文字ベクトルの cell 配列として返されます。入力引数のいずれかが文字列の配列 f である場合は、文字列の配列。それ以外の場合、入力引数が文字ベクトルの cell 配列である場合、それは f 文字ベクトルの cell 配列になります。それ以外の場合は、f 文字配列。

データ型: char  |  cell | string

4. 説明

この関数は、指定されたフォルダーとファイル名から完全なファイル セットを構築します。

fullfile 必要に応じて OS 依存のファイル区切り文字を挿入しますが、末尾のファイル区切り文字は追加しないでください。Windows プラットフォームでは、ファイル区切り文字はバックスラッシュ ( \) です。他のプラットフォームでは、ファイル区切り文字が異なる文字になる場合があります。

Windows では、fullfile すべてのスラッシュ ( /) をバックスラッシュ ( \) に置き換えます。UNIX プラットフォームでは、バックスラッシュ ( \) 文字はファイル名の有効な文字であり、置き換えられません。

fullfile 先頭または末尾の区切り文字は削除されません。fullfile 完全なファイル仕様の先頭に出現する場合を除き、内部的に繰り返されるファイル区切り文字を折りたたんでください。fullfile ドット表記で示される相対ディレクトリも、完全なファイル仕様の最後に表示されない限り折りたたまれます。二重ドット表記で示される相対ディレクトリは折りたたまれません。

5. 例

5.1 Windows での完全なファイル パスの作成

>> f = fullfile('myfolder','mysubfolder','myfile.m')
結果は次のようになります: 
f = 
    'myfolder\mysubfolder\myfile.m'

5.2 UNIX での完全なファイル パスの作成

>> f = fullfile('myfolder','mysubfolder','myfile.m')
結果は次のようになります: 
f = 
'myfolder/mysubfolder/myfile.m'

5.3 Windows での複数のファイルへのパスの作成

複数のファイル名は中括弧で囲み、セミコロンで区切ります。

>> f = fullfile('c:\','myfiles','matlab',{'myfile1.m';'myfile2.m'})
結果: 
f = 
  2×1 cell 配列
    'c:\myfiles\ matlab\myfile1.m' 
    'c:\myfiles\matlab\myfile2.m'

5.4 Windows システムでのファイル区切り記号とドットの折り畳み

ファイル区切り文字とドット表記を使用してフォルダー パスを作成します。

fullfile 先頭または末尾のファイル区切り文字を折りたたまないでください。filesep ファイル区切り文字は自動的に補完されます。

>> f = fullfile('c:\','myfiles','matlab',filesep)
結果は次のようになります: 
f = 
c:\myfiles\matlab\

fullfile 完全なファイル仕様の先頭に出現する場合を除き、繰り返されるファイル区切り文字は折りたたんでください。

>> f = fullfile('c:\folder1', '\\\folder2\\')
の結果は次のようになります: 
f = 
c:\folder1\folder2\

fullfile 完全なファイル仕様の最後に表示されない限り、ドット表記で示された相対ディレクトリを折りたたみます。二重ドット表記で示される相対ディレクトリは折りたたまれません

>> f = fullfile('c:\folder1', '.\folder2', '..\folder3\.') 結果は次のように
なります: 
f = 
c:\folder1\folder2\..\folder3\.e

 2、ファイルパーツ

1.機能

ファイル名の構成要素を取得します。

2. 文法

[ファイルパス、名前、拡張子] = fileparts(ファイル名)

3. 入力と出力

3.1 入力

filename — ファイル名
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列

ファイル名。string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。filename パスとファイル拡張子を含めることができます。

Windows システムでは、 (同じファイル名内であっても) パス区切り文字としてスラッシュ ( /) またはバックスラッシュ ( ) を使用できます。\UNIX および Mac システムでは、 / 区切り文字としてのみ使用します。

フォルダー名のみを指定する場合は、 filename 末尾に区切り文字を追加します。

データ型: char  |  string | cell

3.2 出力

filepath — ファイル パス
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列

ファイル パス。string 配列、文字ベクトル、または文字ベクトルの cell 配列として返されます。filepath 入力引数と filename 同じデータ型と形式を持ちます。解析するファイルの名前にパスが指定されてい filepath ない空 ('') になります。

データ型: char  |  string | cell

name — ファイル名
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列

ファイル名。string 配列、文字ベクトル、または文字ベクトルの cell 配列として返されます。name 入力引数と filename 同じデータ型と形式を持ちます。

拡張機能は含まれていません。fileparts 右端の区切り文字に続くすべての文字をファイル名と拡張子として解釈します。

データ型: char  |  string | cell

ext — ファイル拡張子 string
配列 | 文字ベクトル | 文字ベクトルの cell 配列

ファイル拡張子。string 配列、文字ベクトル、または文字ベクトルの cell 配列として返されます。ext 入力引数と filename 同じデータ型と形式を持ちます。

ext ピリオド ( .) から始めます。解析するファイルの名前に拡張子が指定されていない ext 場合は、空 ('') になります。

データ型: char  |  string | cell

4. 説明

[filepath,name,ext] = fileparts(filename指定されたファイルのパス名、ファイル名、拡張子を返します。

fileparts 指定された だけを解析します filenameファイルの存在は確認されていません。

5. 例

5.1 Windows ファイル名のコンポーネントを取得する

myfile.txt パス、名前、拡張子を取得します 。

>> ファイル = "H:\user4\matlab\myfile.txt"; 
>> [ファイルパス,名前,拡張子] = ファイルパーツ(ファイル)
ファイルパス = 
"H:\user4\matlab"
名前 = 
"マイファイル"
ext = 
".txt"

5.2 Linux Dotfile ファイル名のコンポーネントを取得する

.cshrc Linux® システムのユーザーのファイル名のコンポーネントを取得します 。

fileparts ファイル名全体はピリオドで始まるため、拡張子として解釈されます。

>> [ファイルパス,名前,拡張子] = fileparts("/home/jsmith/.cshrc")
ファイルパス = 
"/home/jsmith"
名前 = 
""
ext = 
".cshrc"

5.3 文字列の配列からファイル名の一部を取得する

2 行 2 列の文字列配列内の各要素からファイルのパス、名前、拡張子を取得します。

>> files1_4 = ["H:/user1/matlab/file1.txt",... 
    "H:/user2/matlab/file2.txt";"H:/user3/matlab/file3.txt",... 
    "H:/user4/matlab/file4.txt"]; 
>> [パス,名前,拡張子] = fileparts(files1_4)
path = 2x2 文字列
    "H:/user1/matlab" "H:/user2/matlab" 
    "H:/user3/matlab" "H:/user4/matlab"

名前 = 2x2 文字列
    "ファイル 1" "ファイル 2" 
    "ファイル 3" "ファイル 4"

ext = 2x2 文字列
    ".txt" ".txt" 
    ".txt" ".txt"

 3. ファイル名

1.機能

現在実行中のコードのファイル名を取得します。

2. 文法

mfilename
p = mfilename('フルパス')
c = mfilename('class')

3. 説明

mfilename 関数呼び出しが発生したファイルの名前を含む文字ベクトルを返します。ファイルから呼び出された場合は、ファイルの名前を返します。このようにして、スクリプトまたは関数はその名前を決定できます。

p = mfilename('fullpath') ファイル拡張子を除いた、呼び出しが行われたファイルの完全なパスと名前を返します。

c = mfilename('class') 先頭のシンボルを除いて、メソッドのクラスを返す メソッド @ 。メソッド以外から呼び出された場合は、空の文字ベクトルが生成されます。

 4、ゲンパス

1.機能

パス名を生成します。

2. 文法

p = genpath

p = genpath(folerName)

3. 入力

folderName — フォルダー名の
文字ベクトル | string スカラー

フォルダー名。文字ベクトルまたは string スカラーとして指定します。

例: 'c:/matlab/myfiles'

データ型: char  | string

4. 説明

p = genpathmatlabroot/toolbox 空のサブフォルダーを含む、その下のすべてのフォルダーとサブフォルダーの パス名を含む文字ベクトルを返します 。

p = genpath(folderName)folderName その内部および その下に含まれるfolderName サブフォルダー のパス名を含む文字ベクトルを返します 。private パス名には、 という名前のフォルダー、 @ という文字で始まるフォルダー (クラス フォルダー)、 という + 文字で始まるフォルダー (パッケージ フォルダー)、 resources という名前のフォルダー、またはこれらすべてのフォルダー内のサブフォルダーは含まれません 。

5. 例

検索パスにフォルダーとサブフォルダーを追加する

と一緒に使用し genpath 、 addpath フォルダーとそのサブフォルダーを検索パスに追加します。

myfolderサブフォルダーを含む フォルダーを作成します mysubfolder

>> mkdir マイフォルダー; 
>> cd myfolder; 
>> mkdir myサブフォルダー; 
>>CD..

myfolder とその下のすべてのフォルダーを含むパスを生成します。
>> p = genpath('myfolder')


結果は次のようになります:
p =

'myfolder:myfolder/mysubfolder:'

フォルダーとそのサブフォルダーを検索パスに追加します。

>> パスを追加(p)

 


おすすめ

転載: blog.csdn.net/linxi4165/article/details/129976301