ホームページ バックエンド開発 Python チュートリアル Python でファイル操作に使用される統一された手順は何ですか?

Python でファイル操作に使用される統一された手順は何ですか?

Feb 03, 2021 pm 04:02 PM
python

Python で採用されているファイル操作の統一手順は、「開く、操作する、閉じる」です。 「Open-Operation-Close」は一体化したステップであり、「Close」は省略可能です。 Python では、os モジュールと shutil モジュールのメソッドを使用して、ファイルやフォルダーを操作できます。

Python でファイル操作に使用される統一された手順は何ですか?

#このチュートリアルの動作環境: Windows 7 システム、Python 3 バージョン、Dell G3 コンピューター。

Python で採用されているファイル操作の統一手順は次のとおりです。

#A. 操作 - 読み取り - 書き込み

B. 開く - 読み取り - 書き込み -閉じる

C. 開く - 読み取りと書き込み - 書き込み

D. 開く - 操作する - 閉じる

正解 D

python ファイルとフォルダーの操作

1. Python でファイルやフォルダーを操作する際によく使われる os よくある方法モジュールとshutilモジュール用。

1. 現在の作業ディレクトリ、つまり、現在の Python スクリプトが動作するディレクトリ パスを取得します: os.getcwd()
2. 指定されたディレクトリ内のすべてのファイルとディレクトリ名を返します。 : os.listdir( )
3. この関数はファイルを削除するために使用されます: os.remove()
4. 複数のディレクトリを削除します: os.removedirs(r"c:\python")
5指定されたパスがファイルであるかどうかを確認します: os.path.isfile()
6. 指定されたパスがディレクトリであるかどうかを確認します: os.path.isdir()
7. 絶対パスであるかどうかを確認しますpath: os.path.isabs ()
8. 指定されたパスが実際に存在するかどうかを確認します: os.path.exists()
9. パスのディレクトリ名とファイル名を返します: os.path.split ()

例:

os.path.split('/home/swaroop/byte/code/poem.txt')
ログイン後にコピー

結果:

('/home/swaroop/byte/code',
'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 を使用します'
16. 手順 使用しているプラ​​ットフォーム: os.name Windows の場合は 'nt'、Linux/Unix ユーザーの場合は 'posix'です
17. 名前の変更: os.rename(old, new)
18 .複数レベルのディレクトリを作成します: os.makedirs(r"c:\python\test")
19. 単一のディレクトリを作成します: os.mkdir("test")
20. ファイルを取得します属性: os.stat( file)
21. ファイルのアクセス許可とタイムスタンプを変更: os.chmod(file)
22. 現在のプロセスを終了: os.exit()
23. ファイル サイズを取得: os.path.getsize(filename )

2. 包括的なファイル操作方法

1.os.mknod("test.txt") 空のファイルを作成します
2.fp = open(" test.txt",w) ファイルを直接開きます。ファイルが存在しない場合は、ファイルを作成します。##3. オープン モードについて:

    #w: 書き込みモードで開きます。
  • a: 追加モードで開きます (EOF から開始し、必要に応じて新しいファイルを作成します)

    r: 読み取り/書き込みモードで開きます
    w: 読み取り/書き込みモードで開きます(w を参照)
    a: 読み取り/書き込みモードでオープン オープン (a を参照)
    rb: バイナリ読み取りモードでオープン
    wb: バイナリ書き込みモードでオープン (w を参照)
    ab: オープンバイナリ追加モードでオープン (a を参照)
    rb: バイナリでオープン 読み取り/書き込みモードでオープン (r を参照)
    wb: バイナリ読み取り/書き込みモードでオープン (w を参照)
    ab: バイナリでオープン読み取り/書き込みモード (a を参照)

fp.read([size]) #size为读取的长度,以byte为单位
fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符
fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。
fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生ValueError
fp.flush() #把缓冲区的内容写入硬盘
fp.fileno() #返回一个长整型的"文件标签"
fp.isatty() #文件是否是一个终端设备文件(unix系统中的)
fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点
fp.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。
fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。
fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

三、目录操作方法大全

1.创建目录

os.mkdir("file")
ログイン後にコピー

2.复制文件:

shutil.copyfile("oldfile","newfile") #oldfile和newfile都只能是文件
shutil.copy("oldfile","newfile") #oldfile只能是文件夹,newfile可以是文件,也可以是目标目录
ログイン後にコピー

3.复制文件夹:

shutil.copytree("olddir","newdir") #olddir和newdir都只能是目录,且newdir必须不存在
ログイン後にコピー

5.重命名文件(目录)

os.rename("oldname","newname") #文件或目录都是使用这条命令
ログイン後にコピー

6.移动文件(目录)

shutil.move("oldpos","newpos")
ログイン後にコピー

7.删除文件

os.remove("file")
ログイン後にコピー

8.删除目录

os.rmdir("dir") #只能删除空目录
shutil.rmtree("dir") #空目录、有内容的目录都可以删
ログイン後にコピー

9.转换目录

os.chdir("path") #换路径
ログイン後にコピー

四、文件综合操作实例

将文件夹下所有图片名称加上'_fc'

python代码:

# -*- coding:utf-8 -*-
import re
import os
import time
#str.split(string)分割字符串
#'连接符'.join(list) 将列表组成字符串
def change_name(path):
global i
if not os.path.isdir(path) and not os.path.isfile(path):
return False
if os.path.isfile(path):
file_path = os.path.split(path) #分割出目录与文件
lists = file_path[1].split('.') #分割出文件与文件扩展名
file_ext = lists[-1] #取出后缀名(列表切片操作)
img_ext = ['bmp','jpeg','gif','psd','png','jpg']
if file_ext in img_ext:
os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)
i+=1 #注意这里的i是一个陷阱
#或者
#img_ext = 'bmp|jpeg|gif|psd|png|jpg'
#if file_ext in img_ext:
# print('ok---'+file_ext)
elif os.path.isdir(path):
for x in os.listdir(path):
change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用
img_dir = 'D:\\xx\\xx\\images'
img_dir = img_dir.replace('\\','/')
start = time.time()
i = 0
change_name(img_dir)
c = time.time() - start
print('程序运行耗时:%0.2f'%(c))
print('总共处理了 %s 张图片'%(i))
ログイン後にコピー

输出结果:

程序运行耗时:0.11
总共处理了 109 张图片
ログイン後にコピー

更多计算机编程相关知识,请访问:编程视频!!

以上がPython でファイル操作に使用される統一された手順は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPおよびPython:さまざまなパラダイムが説明されています PHPおよびPython:さまざまなパラダイムが説明されています Apr 18, 2025 am 12:26 AM

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonの選択:ガイド PHPとPythonの選択:ガイド Apr 18, 2025 am 12:24 AM

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

Python vs. JavaScript:学習曲線と使いやすさ Python vs. JavaScript:学習曲線と使いやすさ Apr 16, 2025 am 12:12 AM

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Windows 8でコードを実行できます Windows 8でコードを実行できます Apr 15, 2025 pm 07:24 PM

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSCODE拡張機能は悪意がありますか? VSCODE拡張機能は悪意がありますか? Apr 15, 2025 pm 07:57 PM

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。

Visual StudioコードはPythonで使用できますか Visual StudioコードはPythonで使用できますか Apr 15, 2025 pm 08:18 PM

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

PHPとPython:彼らの歴史を深く掘り下げます PHPとPython:彼らの歴史を深く掘り下げます Apr 18, 2025 am 12:25 AM

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

ターミナルVSCODEでプログラムを実行する方法 ターミナルVSCODEでプログラムを実行する方法 Apr 15, 2025 pm 06:42 PM

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

See all articles