Pythonのコアプログラミング:読み取りと書き込みのファイルとファイルのpythonのディレクトリと実装コードフォルダの操作

この記事では、基準で友人を必要とする、読み取りと書き込みのファイルのとファイルディレクトリのフォルダとPythonの実装コードの動作に焦点を当てて
セキュリティ上の理由から、それはとても運転終了時のことを、名前を指定するには、ファイルオブジェクトを開くのがベストですあなたはすぐにいくつかの役に立たないオブジェクトがメモリファイルを占有防止、ファイルを閉じることができます。たとえば、テキストファイルの読み込み:

file_object = open('thefile.txt') 
try: 
all_the_text = file_object.read( ) 
finally: 
file_object.close( )

ステップ5 Pythonのファイルの読み取りおよび書き込み操作の実際

まず、ファイルを開きます

Pythonの読み取りと書き込みのファイルが広く、あなたが申請手続きを理解したい場合は、以下の記事は、あなたに関連するコンテンツへの詳細な紹介を与えるだろう、我々は来るここで、将来的に学習するプロセスであなたを助ける、コンピュータ言語で使用されていますそのアプリケーションの詳細が表示されます。
コード次のようにf = open("d:\test.txt", "w")
説明:
最初の引数がパスを含むファイル名であり、2番目のパラメータは、オープンモードのモードである
「R&LT」:読み取り専用(デフォルトファイルが存在しない場合、エラーがスローされる)
「W」:のみを書き込み(ファイルが存在しない場合、ファイルを作成する)
「A」:ファイルに追加
リーダー:R「+」
そのような「RB」としてバイナリの方法でファイルを開くために必要な場合、後の文字「B」モードを追加する必要があり、 " WB」など

第二に、内容を読みます

f.read(サイズ)に達し
番号サイズパラメータは、リードを示し、それを省略することができます。あなたはサイズパラメータを省略すると、ファイルのすべての内容を読み取ります。
f.readline()
ファイル線コンテンツREADに
f.readlinesを()
[LINE1、LINE2、...リネン]アレイ内のすべての行を読み取ります 。メモリ内のすべてのファイルの内容をロードしないでください、この方法は、多くの場合、効率の改善を容易にするために使用されます。

第三に、ファイルへの書き込み

f.write(文字列)
ファイルを閉じ、)その後、f.close(文字列の末尾に「\ n」は追加されなければならず、書き込み終了ならばファイルに文字列に、

第四に、ファイルの場所の内容

f.read()
ファイルポインタを読んだ後は、あなたが最初にファイルポインタを見つける必要があります、あなたは再び全体の内容を読みたい場合は、コンテンツの読み取りが、空であることがわかりますもし再びf.read()、ファイルの終わりに達しました:
f.seek(0)
この関数のフォーマットはある(バイト単位)以下:
(from_what、オフセット)f.seekは
from_whatは、読み取り開始位置を示すオフセット移動量を示しており、距離from_what、例えばf.seekから( 10、3)は3番目の文字がバックした後、10個の文字を移動させるように配置されている表します。0のfrom_what値は、ドキュメントの先頭に、デフォルトは0で、それは省略することができ、ファイルの先頭を示します。下記の

f = open('/tmp/workfile', 'r+') 
f.write('0123456789abcdef') 
f.seek(5) # Go to the 6th byte in the file 
f.read(1)  
'5'
f.seek (-3, 2) # Go to the 3rd byte before the end 
f.read(1) 
'd'

私たちは、高齢者が学習しているかを確認するためにサイトを学ぶのpythonをお勧めします!基本的なPythonスクリプト、爬虫類、ジャンゴ、データマイニング、プログラミング技術から、だけでなく、戦闘にゼロベースのpython小さなパートナーを学ぶすべての愛に与えられたデータ項目を、並べ替え!Pythonのベテランの日には、学習し、細部に注意を払う必要性に、クリックにご参加くださいする方法のいくつかを共有するために、技術のタイミングを説明する必要が学習者の集まりPYTHON

第五に、ファイルのリリースリソースを閉じます

ファイル操作が完了すると、我々は)(ファイルf.closeを閉じるために覚えておく必要があります、あなたは他のプログラムのためのリソースを解放することができ
、広くコンピュータ言語でファイルを読み書きするためのPythonを使用している、あなたは申請手続きを理解したい場合は、以下の記事はあなたを与えるだろう関連するコンテンツの詳細な説明は、ここで我々は詳細に自分のアプリケーションを導入し、将来的に学習するプロセスのお手伝いをします。

Pythonでosモジュールとファイルモジュールshutilに一般的に使用される方法は、フォルダ操作がしばしば使用されています。

os.getcwd():現在のディレクトリパスPythonスクリプトの仕事という現在の作業ディレクトリを取得1.
2.リターン指定されたディレクトリ内のすべてのファイルとディレクトリ:は、os.listdir()
OS:3.関数は、ファイルを削除するために使用されています。削除()
4.複数のディレクトリを削除する:os.removedirs(R&LT「C:\パイソン」)
5.指定されたパスのファイルがある場合:os.path.isfile()
6.指定されたパスかディレクトリ:os.path.isdir()
7.絶対パスか否かを判断する。os.path.isabs()
8.実際に存在するかどうかを指定されたパス:os.path.exists()
Aの9復路ディレクトリ名やファイル名:os.path.split()
例:
次のようにコードは次のとおりです。
os.path.split( '/ホーム/ Swaroop /バイト/コード/ poem.txt')結果:(「/ホーム/ swaroop /バイト/コード'' poem.txt「)

10.単離された拡張子:os.path.splitext()
11.パス名取得:os.path.dirname()
12.取得ファイル名:os.path.basename()
13.実行シェルコマンド:os.system()
14.読み取りとセットの環境変数:os.getenv()とos.putenv()
15.プラットフォームを使用して現在の行終端与える:os.linesep Windowsを使用して'\ rは\ n'は、Linuxは'\ n個'を使用してMacが「\ r」が使用して
、それが「NT」で、Windows用のos.name、およびLinux / Unixのユーザーのために、それはPOSIX 'です:16.あなたが使用している兆候プラットフォームを
17名の変更:os.rename(旧、)新しい新
18マルチレベルのディレクトリを作成する:os.makdirs(R「C:\ Pythonの\テスト」)
19単一ディレクトリの作成:os.mkdir(「試験」)
20は、ファイルへのアクセスの属性:はos.stat(ファイル)
21.修正ファイルのパーミッションとタイムスタンプ:os.chmod(ファイル)
22現在のプロセスの終了:os.exit()
23. GETファイルサイズ:os.path.getsize(ファイル名)

第二に、ファイル操作Daquanの

空のファイルを作成する1.os.mknod(「test.txtの」)
2.fpを=オープン(「test.txtの」、 w)を直接ファイルを開き、ファイルが存在しない場合、ファイルの作成
、オープンモードに3.:

r:以读方式打开文件,可读取文件信息。
w:以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容
a:以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建
b:以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )

Fileオブジェクトのメソッドは、
f.close()を:クローズファイルを、(開い使用することを忘れないでください)ファイルを開いた後、それ以外の場合は、システムがファイルハンドルを開くことができます取るだろう、それをオフにするために覚えておく必要があります。
f.fileno():ファイル記述子がデジタルであり得る
f.flush():フラッシュ出力バッファ
f.isatty():ファイルが対話型端末である場合、それは、そうでなければFALSE TRUEを返し。
f.read([回数]):カウントが、その後、カウントバイトを読み出す場合は、ファイルを読み込みます。
f.readline():情報の行を読んで。
f.readlines():
ファイル全体が情報を読み出され、つまり、すべての行を読んで。
f.seek([、]オフセット) : に対してオフセット位置にファイルポインタ。ここで、0は、デフォルトのファイルの開始である。図1は、現在位置を示す;図2は、ファイルの終わりを表します。
f.tell():ファイルポインタの位置を求めます。
f.truncate([サイズ]):ファイルサイズがサイズであるように、ファイルを傍受。
f.write(文字列):ファイルに文字列文字列。
f.writelines(リスト):行毎にファイルに書き込まれ、リスト内の文字列は、連続ファイル、改行なしに書き込まれます。

fp.read([サイズ])#size長は、バイト単位で読み出し
fp.readline([サイズ])#ラインが定義されたサイズならば、ラインの一部のみを返すことが可能であり、読み出される
[(fp.readlinesをサイズ])#ファイルの各行をリストのメンバーとして、リストを返します。実際には、その内部には、達成するために、ループのreadline()を介して呼び出されます。提供サイズパラメータ、サイズは全長の内容を読んでいる場合は、そのファイルの一部だけを読み取ることが可能です。
fp.write(STR)#ファイルに書き込まSTR、書き込みは()strの後に改行を追加しません
fp.writelinesファイルに書き込まれたすべての(配列)配列番号の内容(複数行のワンタイム書き込み)へ。この機能は忠実に、各行の後に何も追加しないで書かれています。
近い()#ファイルをfp.close。Pythonは、ファイルのないファイルの後に自動的にオフになりますが、この機能は保証されません、それは自分の習慣を開発するのが最善です閉じます。ファイルは閉じた後とValueErrorを生成するように操作することができる場合
(fp.flush)を#バッファの内容がディスクに書き込まれる
fp.fileno()#は、長い整数「ファイルタグ」を返す
)fp.isattyを(#ファイルが端末デバイスファイル(UNIXシステム)である場合
原点としてfp.tell()#は、ファイルの先頭にファイル操作の現在位置マークを返す
fp.next()#次の行を返し、操作フラグがファイルに移行します次の行。以下のために使用されたときにファイルを入れて...この文ファイルには、トラバーサルを実装するために、次の()関数を呼び出すことです。
fp.seek(オフセット[、そこから]) #動作にマーカーのオフセットファイルを再生します。このオフセットは通常、一般的に正を計算するために、ファイルの先頭からの相対です。パラメータは、計算は最初から表現することができない場合がありますそこ場合はそこでも、1は原点と現在位置が0として計算されていることを示します。図2は、原点のように計算されるファイルの終わりを表します。ファイルが+またはモードで開かれている場合、すべての時間は、書き込み操作、ファイル操作フラグは自動的にファイルの末尾に戻ることに注意してください。
fp.truncate([サイズ])#所定のサイズにドキュメントは、現在のファイル操作マークのデフォルトの場所に切断されます。ファイルのサイズが異なる場合がありますファイルを変更することなく、システムに応じて、サイズよりも大きい場合には、それが0のファイルとの適切なサイズまでとすることができ、それは追加するのランダムなものの束であるかもしれません。

第三に、ディレクトリ操作Daquanの

ディレクトリを作成します。1.

os.mkdir( "ファイル")
2.コピーしたファイル:
shutil.copyfile( "OLDFILE"、 "NEWFILE")#oldfileのみNEWFILEファイルすることができ
shutil.copy( "OLDFILE"、 "NEWFILE ")#oldfile のみフォルダがあり、newfileコマンドは、ファイルをすることができ、それは先のディレクトリことができ
3.フォルダをコピーします。
4.shutil.copytreeを(「olddir」、「newdirが」)#olddirとnewdirをのみ、ディレクトリをすることができ、かつnewdirが存在してはならない
5 (ディレクトリ)ファイルの名前を変更
os.rename( "OLDNAME"、 "newnameの")#ファイルまたはディレクトリは、このコマンドを使用している
ファイル(ディレクトリ)6.移動を
shutil.move( "OldPos"、 "NewPOSを")
7。削除ファイルは、
(「ファイル」)os.remove
ディレクトリを削除8.
os.rmdir(「DIR」)#のみ削除空のディレクトリの
shutil.rmtree(「DIR」)#空のディレクトリを、ディレクトリの内容を削除することができ
9.変換をカタログ
os.chdir(「パス」)#転換路

ディレクトリの操作:
os.mkdir( "ファイル")ディレクトリを作成し
、ファイルをコピーする:
shutil.copyfileを( "OLDFILE"、 "newfileコマンドは")のみOLDFILEとNEWFILEファイルすることができ
shutil.copy( "OLDFILE"、 "NEWFILE ")OLDFILE のみフォルダを指定でき、newfileコマンドはファイルすることができ、また、ターゲットディレクトリことができ
、フォルダをコピーする:
shutil.copytree(「olddir」、「newdirが」)olddirとnewdirをのみ、ディレクトリことができ、そして何newdirがはありませんしなければならない
ファイルの名前を変更(ディレクトリ)
os.rename(「OLDNAME」、「newnameの」)には、このコマンドファイルまたはディレクトリを使用することである
ファイル(ディレクトリ)に移動
shutil.move(「OldPos」、「NewPOSを」)
ファイルを削除する
os.remove(「ファイル」)を
削除カタログ
os.rmdir(「DIR」)のみ空のディレクトリを削除することができます
shutil.rmtree(「DIR」)ディレクトリの内容を空のディレクトリを削除することができ
、変換ディレクトリの
変更パスにos.chdir(「パス」)

例:

 -*- coding: utf-8 -*- 
  
import os 
import shutil 
  
# 一. 路径操作:判断、获取和删除 
  
#1. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 
#print: currentpath: f:\LearnPython 
currentpath = os.getcwd() 
print "currentpath: ",currentpath 
#2. 返回指定目录下的所有文件和目录名:os.listdir() 
#print:os.listdir(): ['test.txt', 'testRW.py', 'test1.txt', 'cmd.py', 'rwfile.py', 'downloadfile.py', 'date.py', 'time.py', 'datetime.py', 'file.py'] 
print "os.listdir(): ",os.listdir('f:\LearnPython') 
  
path = "F:\mmmmmmmmm\debug_taobao_200003@taobao_android1.6_3.2.1.apk"
#3. 判断给出的路径是否真地存:os.path.exists() 
if os.path.exists(path): 
  #删除一个文件:os.remove() 
  os.remove(path) 
else: 
  print path,"not exist"
  
#4. 删除多个目录:os.removedirs(“c:\python”) 
#它只能删除空目录,如果目录里面有内容将不会被删除 
if os.path.exists("d:/woqu"): 
  os.removedirs("d:/woqu") 
else: 
  os.mkdir("d:/woqu") 
  os.removedirs("d:/woqu") 
  
#5. 判断给出的路径是否是一个文件:os.path.isfile() 
#print: True 
print os.path.isfile("D:\hello\json.txt") 
#6. 判断给出的路径是否是一个目录:os.path.isdir() 
#print: True 
print os.path.isdir("D:\hello") 
#7. 判断是否是绝对路径:os.path.isabs() 
#print: True 
print os.path.isabs("D:\hello") 
# 判断是否是链接 
print os.path.islink('http://www.baidu.com') 
#8. 返回一个路径的目录名和文件名:os.path.split()    
#eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')  
#print: ('D:\\hello', 'json.txt') 
print os.path.split("D:\hello\json.txt") 
#9. 分离扩展名:os.path.splitext() 
#print:('D:\\hello\\json', '.txt') 
print os.path.splitext("D:\hello\json.txt") 
#10. 获取路径名:os.path.dirname() 
#print: 'D:\\hello' 
print os.path.dirname("D:\hello\json.txt") 
#11. 获取文件名:os.path.basename() 
#print: 'json.txt' 
print os.path.basename("D:\hello\json.txt") 
  
  
#13. 指示你正在使用的平台:os.name    对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' 
print "os.name: ",os.name 
  
#14. linex 下的命令 
if os.name == 'posix': 
  #读取和设置环境变量:os.getenv() 与os.putenv() 
  home_path = os.environ['HOME'] 
  home_path = os.getenv('HOME') #读取环境变量  
elif os.name == 'nt': 
  home_path = 'd:' 
  print 'home_path: ',home_path 
  
#15. 给出当前平台使用的行终止符:os.linesep  Windows使用'\r\n',Linux使用'\n'而Mac使用'\r' 
print(os.linesep) 
  
#16. 应为windows和linux的路径有点点不一样,windows是用 \\ 来分割的,linux是用 / 来分隔, 
#而用os.sep 会自动根据系统选择用哪个分隔符。 
print(os.sep) 
  
#17. 重命名:os.rename(old, new) 
#先进入目录 
os.chdir("d:\\hello") 
print os.getcwd()  
#18. 再重命名 
os.rename("1.txt", "11.txt") 
#19. 创建多级目录:os.makedirs(“c:\python\test”) 
os.makedirs('d:\h\e\l\l\o') 
#20. 创建单个目录:os.mkdir(“test”) 
os.mkdir('d:\f') 
#21. 获取文件属性:os.stat(file) 
#print: nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0, st_nlink=0, st_uid=0, st_gid=0, st_size=497L, st_atime=1346688000L, st_mtime=1346748054L, st_ctime=1346748052L) 
print os.stat('d:\hello\json.txt') 
#22. 修改文件权限与时间戳:os.chmod(path,mode) 
#这里有介绍:http://blog.csdn.net/wirelessqa/article/details/7974477 
#23. 终止当前进程:os.exit() 
#24. 获取文件大小:os.path.getsize(filename) 
print os.path.getsize('d:/hello/json.txt')

ファイルのリストを作成する方法のpython:
例:

a = [1,2,3,4,5,6,7,8,9] 
tmp = [] 
for i in range(0,len(a),3): 
 tmp.append(str(a[i])+","+str(a[i+1])+","+str(a[i+2])+"\n") 
file("./a.txt",'w').writelines(tmp)

Pythonは、リストにTXTファイルを読み込む
例:
ファイルのtxtの内容場合:AAA、BBB、CCCの
DDD、最も幅の広い、FFF

私は結果を表示するためにリストを保存するために読みたい[[AAA、BBB、CCC]、[DDD、EEE、FFF]]

txtpath=r"a.txt"
fp=open(txtpath) 
arr=[] 
for lines in fp.readlines(): 
  lines=lines.replace("\n","").split(",") 
  arr.append(lines) 
fp.close()
发布了51 篇原创文章 · 获赞 122 · 访问量 8万+

おすすめ

転載: blog.csdn.net/haoxun03/article/details/104348699
おすすめ