現在のディレクトリパスとファイルを取得するためのpythonノート(A)
まず、現在のパスを取得
1、sys.argvの[0]を使用して
SYSインポート sys.argvのを印刷[0]
#出力
#ローカルパス
2、OSモジュール
OSのインポート プリントos.getcwd()#取得現在の作業ディレクトリのパスの 印刷os.path.abspath(「」)#GET現在の作業ディレクトリのパスの 印刷os.path.abspath( 『test.txtの』)#GETカレントディレクトリ内のファイル作業ディレクトリのパスの 印刷os.path.abspath(「..」)#GET現在の作業の親ディレクトリ!なお、親ディレクトリのパスの 印刷os.path.abspath(os.curdir)#取得現在の作業ディレクトリのパス
3、カレントディレクトリを変更
1)使用:os.chdir(パス)。
例えば、カレントディレクトリにある場合は、「E」以下、その後、次のファイルを入力してくださいEファイルは、使用os.chdir(E:\ファイル)することができます。
その後、例えば、test1のは、ファイルがで開かれます、(「FILE1.TXT」)のオープンを=「E:\ファイル」ファイルの下のディレクトリではなく、下の「E」。
図4に示すように、リターンパス組み合わせ
os.path.join( 'FILE1'、 'FILE2'、 'FILE3')
FILE1 / FILE2 / FILE3パスを取得するために結合しました
>>>印刷os.path.join( 'E'、 'FILE1'、 'FILE2') E:/ FILE1 / FILE2
>>>印刷os.path.join( '/ホーム'、 '/ホーム/ FILE1 /'、 '/ホーム/ file1の/ FILE2 /') /ホーム/ file1の/ FILE2 /
2番
インポートOS ルート= os.getcwd()#GET現在のパス/ home / dir1の 印刷ルート #出力 #/ホーム/ dir1の 名前= "FILE1"位のファイル名を定義する プリント(os.path.join(ルート、名前) )#のマージをパス名とファイル名、および印刷 #出力 #/ホーム/ DIR1 / FILE1
第二に、現在のディレクトリ内のすべてのファイルへのアクセス
出力ディレクトリツリーのファイル名が歩いたりダウンのためのディレクトリ内の1 os.walk();
構文 os.walk(TOP [、トップダウン= Trueの [、ONERROR =なし【、followlinks = FALSE]]])
パラメータ: トップ- (自身を含む)ルートディレクトリ内の各クリップファイルは、(3タプルを生成しますDIRPATH、にdirnames、ファイル名)[フォルダパスの
フォルダ名、ファイル名]。 トップダウン-指定された代替的に、またはしないがTrue、そのサブフォルダより3タプルディレクトリ3-タプル第一世代(ディレクトリトップダウン)。
そのサブフォルダに3員のグループの後にディレクトリ(ディレクトリボトムアップ)を生成するよりもトップダウンがFalseである場合、3-タプル。 ONERROR -代わりに、関数は、それはOSErrorの例と呼ばれるパラメータがあります。このエラーを報告した後、歩いて、または例外終了散歩をスローし続けています。 followlinks -ディレクトリにアクセスするためのソフトリンクによって、その後、trueに設定します。
2。
インポートOS ルート= os.getcwd() DEF file_nameに(FILE_DIR): ルートのため、dirsに、os.walk内のファイル(FILE_DIR): 印刷"-----------" 印刷ルート#1 os.walk( )ディレクトリ のすべてのディレクトリ名のためには、のdirsに#os.walk()ディレクトリの印刷 #は、すべての非ディレクトリファイル名()ディレクトリos.walk印刷ファイル 印刷「」 FILE_NAME(ルート)
----------- ---------- ----
プロパティファイルを解析xls6-pythonの
# - * -コーディング:UTF-8 - * -
トンのように、インポート時
のOracleなどの輸入cx_Oracle
のNPとしてインポートnumpyの
PDのように輸入パンダ
のPLTとして輸入matplotlib.pyplot
輸入ランダム、OS、数学、再、時間の
小道具として輸入properties09
メインデフを():
FILE_PATH = r'D:\バックアップ\ PycharmProjects \ charm123 \ prop.properties'
dictProperties = prop.Properties(FILE_PATH).getProperties()
プリント(dictProperties)
プリント(型(dictProperties))
プリント(LEN(dictProperties))
印刷(dictProperties [ 'ユーザー名'])
プリント(dictProperties [ 'URL'])
プリント(dictProperties [ 'ドライバ'])
hang1 = 1つの
試み:
hang1 = dictProperties [ 'hang1']
除く:
hang1 = 0
印刷(hang1)
hang1 1 =。
試してみてください。
hang1のdictProperties = [ 'ハング']
を除く:
hang1 = 0
印刷(hang1)
印刷(os.curdir)
印刷(os.pardir)
印刷(os.defpath)
を印刷(はos.path)
main()の
輸入、OS
の印刷(「=== ===カレントディレクトリを取得」)
、スクリプト作業に#現在のディレクトリパス
印刷(「作業ディレクトリのパスの前にos.getcwd()スクリプト:」、OS .getcwd())
#のos.path.abspath()絶対パスを取得するには
、印刷を( '絶対パスを取得するためにos.path.abspath():'、os.path.abspath(os.path.dirname(__ FILE__)))
印刷( ) "=== ===現在のファイルレベルのディレクトリを取得"
os.path.abspath(os.path.dirname、 "=== == 1 =現在のファイルレベルのディレクトリを取得"(印刷 (os.path.dirname(__ FILE__ ))))
印刷( "===現在のファイルの親ディレクトリ2 = ==取得"、os.path.abspath(os.path.dirname(os.getcwd())))
印刷(「=== ==現在のファイルの親ディレクトリを取得= 3 "とos.path.abspath(os.path.join(os.getcwd()、" .. ")))
、現在のファイルレベルのディレクトリを取得します=== == 4 =」(プリント"はos.path。 DIRNAME(os.getcwd()))
#のos.path.join()を使ってください接続されているディレクトリ名とファイルやディレクトリの
印刷(「==== ====現在のフォルダの親ディレクトリにtest_caseファイルのパスを設定する」)
パス= os.path.join(os.path.dirname(os.getcwd())、 "test_caseは")
を印刷( "==== ====現在のフォルダの親ディレクトリにtest_caseファイルのパスを設定する"、パス)
を印刷( "==== ====現在のフォルダの親ディレクトリ内test_caseファイルのパスを設定する"、os.path.join(os.path.dirname(os.getcwd())、 "test_case"))
DEF Zidianは( ):
辞書= { '名称': 'Runoob'、 '年齢' :. 7、 'クラス': '最初の'}
のdict [ '年齢'] =#88の更新年齢の
辞書[ '学校'] =情報の追加"の情報を追加し、"
印刷( "dictの[ '年齢' ]:"、辞書[ '年齢'])
印刷( "dictの[ '学校']:"、辞書[ '学校']) #
#
デルのdict [ '名前']#削除キー'名前'
#1 dict.clear()#空の辞書
#デルのdict#辞書の削除
#を
#印刷( "dictの[ '年齢']:"、辞書[ '年齢'])
で指さ不変のタプルと呼ばれる#を指しタプルメモリです:#印刷( "dictの[ '学校']は"概要不変。
#TUP1 =(12、34.56である)
#tup2 =( 'ABC'、 'XYZ')
#
素子動作タプル##以下の変更が不正です。
## TUP1 [0] = 100
位
の##を作成します新しいタプル
#tup3 = TUP1 + tup2
#印刷(TUP1)
#印刷(tup2)
#印刷(tup3)
#印刷(tup3 [0])、dictの[ '学校']) #
#
タプルについて不変です
# - * -コーディング:UTF-8 - * -
トンのように、インポート時
のOracleなどの輸入cx_Oracle
のNPとしてインポートnumpyの
PDのように輸入パンダ
のPLTとして輸入matplotlib.pyplot
輸入ランダム、OS、数学、再、時間の
クラスのプロパティ(オブジェクト):
デフ__init __(自己ファイル名):
self.fileName = fileNameに
self.properties = {}
DEF __getDict(自己、STRNAME、dictName、値):
('' strName.find()> 0)場合:
K = strName.split ( '')[0]
dictName.setdefault(K、{})
戻り自己.__ getDict(STRNAME [lenは(K)+1:]、dictName [k]は、値)
他:
dictName [STRNAME] =値
戻り
DEF getProperties(自己):
試してみてください。
pro_file =オープン(self.fileName、 'R')
のラインのためにpro_file.readlinesに():
ライン= line.strip()( '\ nは'、 '')に置き換えます。
line.find( "#")場合!= - 1:
line =行[0:line.find( '#')]
line.find( '=')> 0の場合:
STRS = line.split( '=')
STRS [1] =行[LEN (STRS [0])+ 1]
自己.__ getDict(STRS [0] .strip()、self.properties、STRS [1] .strip())
を除く:
昇給
他:
pro_file.close()
戻りself.properties
#
PropertiesUtilインポートプロパティから#
#dictProperties =プロパティ( "global.properties")のgetProperties()。
#印刷dictProperties
#
デフメイン():
FILE_PATH = r'D:\バックアップ\ PycharmProjects \ charm123 \ prop.properties'
dictProperties =プロパティ(FILE_PATH).getProperties( )
プリント(dictProperties)
プリント(型(dictProperties))
プリント(LEN(dictProperties))
プリント(dictProperties [ 'URL'])、
印刷(dictProperties [ 'ドライバ'])
hang1 = 1つの
試み:
hang1 = dictProperties [ 'hang1']
除く:
hang1 = 0
プリント(hang1)
#main()の
DEF zidian():
辞書= { '名称': 'Runoob'、 '年齢':7、 'クラス': '最初'}
) ###以下の改変タプル要素の動作が不正です。## TUP1 [0] = 100 ###新しいタプルを作成#tup3 = TUP1 + tup2 #プリント(TUP1) #プリント(tup2) #プリント(tup3) #プリント(tup3 [0])、辞書[ '学校「]) #のタプルについて#は不変です
まず、現在のパスを取得
1、sys.argvの[0]を使用して
SYSインポート sys.argvのを印刷[0]
#出力
#ローカルパス
2、OSモジュール
OSのインポート プリントos.getcwd()#取得現在の作業ディレクトリのパスの 印刷os.path.abspath(「」)#GET現在の作業ディレクトリのパスの 印刷os.path.abspath( 『test.txtの』)#GETカレントディレクトリ内のファイル作業ディレクトリのパスの 印刷os.path.abspath(「..」)#GET現在の作業の親ディレクトリ!なお、親ディレクトリのパスの 印刷os.path.abspath(os.curdir)#取得現在の作業ディレクトリのパス
3、カレントディレクトリを変更
1)使用:os.chdir(パス)。
例えば、カレントディレクトリにある場合は、「E」以下、その後、次のファイルを入力してくださいEファイルは、使用os.chdir(E:\ファイル)することができます。
その後、例えば、test1のは、ファイルがで開かれます、(「FILE1.TXT」)のオープンを=「E:\ファイル」ファイルの下のディレクトリではなく、下の「E」。
図4に示すように、リターンパス組み合わせ
os.path.join( 'FILE1'、 'FILE2'、 'FILE3')
FILE1 / FILE2 / FILE3パスを取得するために結合しました
>>>印刷os.path.join( 'E'、 'FILE1'、 'FILE2') E:/ FILE1 / FILE2
>>>印刷os.path.join( '/ホーム'、 '/ホーム/ FILE1 /'、 '/ホーム/ file1の/ FILE2 /') /ホーム/ file1の/ FILE2 /
2番
インポートOS ルート= os.getcwd()#GET現在のパス/ home / dir1の 印刷ルート #出力 #/ホーム/ dir1の 名前= "FILE1"位のファイル名を定義する プリント(os.path.join(ルート、名前) )#のマージをパス名とファイル名、および印刷 #出力 #/ホーム/ DIR1 / FILE1
第二に、現在のディレクトリ内のすべてのファイルへのアクセス
出力ディレクトリツリーのファイル名が歩いたりダウンのためのディレクトリ内の1 os.walk();
構文 os.walk(TOP [、トップダウン= Trueの [、ONERROR =なし【、followlinks = FALSE]]])
パラメータ: トップ- (自身を含む)ルートディレクトリ内の各クリップファイルは、(3タプルを生成しますDIRPATH、にdirnames、ファイル名)[フォルダパスの
フォルダ名、ファイル名]。 トップダウン-指定された代替的に、またはしないがTrue、そのサブフォルダより3タプルディレクトリ3-タプル第一世代(ディレクトリトップダウン)。
そのサブフォルダに3員のグループの後にディレクトリ(ディレクトリボトムアップ)を生成するよりもトップダウンがFalseである場合、3-タプル。 ONERROR -代わりに、関数は、それはOSErrorの例と呼ばれるパラメータがあります。このエラーを報告した後、歩いて、または例外終了散歩をスローし続けています。 followlinks -ディレクトリにアクセスするためのソフトリンクによって、その後、trueに設定します。
2。
インポートOS ルート= os.getcwd() DEF file_nameに(FILE_DIR): ルートのため、dirsに、os.walk内のファイル(FILE_DIR): 印刷"-----------" 印刷ルート#1 os.walk( )ディレクトリ のすべてのディレクトリ名のためには、のdirsに#os.walk()ディレクトリの印刷 #は、すべての非ディレクトリファイル名()ディレクトリos.walk印刷ファイル 印刷「」 FILE_NAME(ルート)
----------- ---------- ----