Python3檔案的簡單操作!
首先介紹一下什麼叫做相對路徑和絕對路徑,我們程式狗家族想必都是懂這個的,但是難免會有童鞋忘記。所以碼出來供大家快速回憶一下。
相對路徑
相對路徑是相對於檔案當前的工作路徑而言的
絕對路徑
絕對路徑是由檔名和它的完整路徑以及驅動器字母組成的,如果是Windows系統,那麼某一個檔案的絕對路徑可能是:
c:\pythonworkspace\firstpy.py
在Unix平臺上,檔案的絕對路徑可能是: /home/sherlockblaze/Documents/pythonworkspace/firstpy.py
檔案型別
檔案大概可以分為文字檔案和二進位制檔案。在不同作業系統下,可以用文字編輯器編輯的檔案,都稱為文字檔案,那麼其他的檔案就屬於二進位制檔案。而二進位制檔案相比與文字檔案的優勢在於二進位制檔案的處理效率更高一些。
讀取檔案的開始
讀取一個檔案的思路永遠都是相同的,第一步自然就是開啟一個檔案。在python中我們通過如下程式碼使用open函式來開啟一個檔案。
input = open(filepath,mode)
我們的mode主要由以下幾種方式。
模式 作用 r 讀取模式 w 寫入模式 a 追加模式 rb 讀取二進位制資料模式開啟檔案 wb 寫入二進位制資料模式開啟檔案 同樣我們有兩種途徑來開啟檔案。
- 通過絕對路徑
input = open("/Users/sherlockblaze/Documents/pythonworkspace/Test.txt","r")
- 通過相對路徑(需要注意的是,我們通過相對路徑是可以開啟當前工作目錄下的檔案的,也就是說如果我的.py檔案存在 /User/sherlock/Documents
input = open("Test.txt","r")
注意
在Windows下我們通過絕對路徑來開啟檔案的時候,我們需要在絕對檔名前加上一個 r 字首,來表示這個字串是一個行字串,這樣可以讓python直譯器將檔案中的反斜線理解成字面意義上的反斜線。例如:
input = open(r"d:\pythonworkspace\Test.txt","r")
如果我們不新增 r 作為字首,則需要用轉義字元把上面的語句修改成如下所示:
input = open("d:\\pythonworkspace\\Test.txt","r")
向檔案中寫入資料
我們首先通過寫入的方式開啟檔案,然後通過呼叫write方法,向檔案中寫入資料。
def main():
input = open("Test.txt","w")
input.write("SherlockBlaze")
input.write("\t is the most handsome guy!\n")
input.close()
main()
通過這種方式,我們往當前目錄下的 Test.txt 檔案中寫入了 SherlockBlaze is the most handsome guy! 這句話,並且需要注意的是,我們在寫完檔案後,呼叫close()方法關閉了檔案流。
常見小特性
當使用w模式開啟一個檔案時,如果檔案不存在,open函式就會建立一個新檔案,如果該檔案存在,那麼這個檔案裡的內容會被心的內容覆蓋。當我們用讀/寫模式開啟檔案的時候,檔案內部會新增一個叫做檔案指標的特殊標記,檔案的讀寫操作都發生在指標當前位置上。
判斷檔案是否存在
為了避免誤操作,我們可以通過os.path模組中的isFile函式來判斷一個檔案是否存在。即:
import os.path
is os.paht.isfile("Test.txt"):
print("Test.txt exists")
else:
print("Test.txt doesn't exists")
簡單小程式
輸入檔案路徑,並且從中計算各個字母出現的次數
def main():
filename = input("Enter a filename: ").strip()
infile = open(filename,"r")
counts = 26 * [0]
for line in infile:
countLetters(line.lower(),counts)
for i in range(len(counts)):
if counts[i] != 0:
print(chr(ord('a') + i) + "appears " + str(counts[i])
+ (" time" if counts[i] == 1 else " times"))
infile.close()
def countLetters(line,counts):
for ch in line:
if ch.isalpha():
counts[ord(ch) - ord('a')] += 1
main()
思路簡單敘述:首先建立陣列,每當讀取到一個字元,對對應位置的數字進行加一,最後在進行遍歷得到輸出。
下載網站原始碼,然後寫入目的檔案中
import sys
import urllib
import urllib.request
import os.path
def download(url,num_retries = 2):
print ('Downloading:',url)
try:
html = urllib.request.urlopen(url).read()
except urllib.URLError as e:
print ('Download error:',e.reason)
html = None
if num_retries > 0:
if hasattr(e,'code') and 500 <= e.code <600:
return download(url,num_retries-1)
return html
def main():
url = input("Enter a url:\n").strip()
f2 = input("Enter a target file:\n").strip()
if os.path.isfile(f2):
print(f2 + " already exists")
sys.exit()
html = download(url)
target = open(f2,"w")
content = html.decode(encoding="utf-8")
target.write(content)
target.close()
main()
比如我輸入網址 ,在輸入目的檔案:game2.txt。即可進行下載並把對應html輸入到當前工作目錄的game2.txt檔案中。
相關推薦
Python3檔案的簡單操作!
首先介紹一下什麼叫做相對路徑和絕對路徑,我們程式狗家族想必都是懂這個的,但是難免會有童鞋忘記。所以碼出來供大家快速回憶一下。 相對路徑 相對路徑是相對於檔案當前的工作路徑而言的 絕對路徑
js下載檔案簡單操作
https://blog.csdn.net/zhoumengshun/article/details/71405963 版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/zhoumengshun/article/
python3 的 mysql 簡單操作
操作 into 出現問題 ava 連接 targe exec obj 事務 一、python 提供的 db 接口 pymysql 兩個基本對象: connection、cursor 連接示例 # connect_demo.py import pymysql db =
python3基礎(九)-系統檔案相關操作
1、import os os.rename("test1.txt" , "test2.txt") #修改檔名稱 os.path.abspath("test2.txt") #獲取檔案絕對路徑 os.path.getsize("test2.txt") #獲取檔案大小
Linux學習筆記15——檔案系統的簡單操作
一、檔案系統的簡單操作 稍微瞭解了檔案系統後,再來我們得要知道如何查詢整體檔案系統的總容量與每個目錄所佔用的容量囉! 此外,前兩章談到的檔案型別中尚未講的很清楚的連結檔案 (Link file) 也會在這一小節當中介紹的。 1 ,磁碟與目錄的容量 現在我們知道磁碟的整體資料是在 supe
python3簡單操作opencv3
環境: Python版本:3.6.2 opencv版本:opencv-python==3.4.3.18 安裝opencv pip install opencv-python 對圖片操作 import cv2 # 識別圖片 img = cv2.imread('cup.jpg', flags=
蘋果手機將PDF檔案轉換為HTML網頁的方法,簡單實用!
有時為了工作需要我們要將PDF轉換成HTML網頁檔案,便於嵌入網頁中且可以提取PDF中的圖片,那麼,如何將PDF轉換成HTML格式呢?今天小編就來和大家介紹PDF轉HTML操作方法,希望可以幫助到大家。 1:首先開啟手機,在AppStore裡搜尋需要的檔案轉換工
自己製作婚禮視訊的軟體,哪個最好用?簡單操作,效果精美!
現在朋友圈很流行的電子請柬、婚禮視訊,其實都是可以自己製作的。那製作婚禮視訊的軟體哪個最好用?製作方法是什麼?怎麼擁有時尚、流行、酷炫的效果? 這裡總結了一套簡單好上手但效果精美的製作婚禮視訊的教程,用到的軟體是很多人都在用的數碼大師,可以很快地做出一個不錯的婚禮視訊,大家看看效果: 第
RapidJson(V1.1.0)的Value簡單操作(拼接json串,存取檔案中的json,解析json串)
#include <rapidjson/document.h> #include <rapidjson/stringbuffer.h> #include <rapidjson/pointer.h> #include <rapidjson/writer.h
python3-檔案操作
總結一下python3檔案操作 檔案操作分為讀,寫,修改。 讀檔案 示例1: 現有以下檔案: ‘兼職1’ (utf-8編碼格式) 王心 深圳 159 46 13813234424 馬纖羽 深圳 173 50 1
使用pydicom讀取dicom檔案,並對檔案做一些簡單操作
#! /usr/bin/python # -*- coding: utf-8 -*- import dicom import pylab ds=dicom.read_file("/home/s/data/LungCancer/CT/benign/contrast/60282
檔案系統的簡單操作
一.磁碟與目錄的容量:df,du df:列出檔案系統的整體磁碟使用量 格式:df 【-ahikHTm】【目錄或檔名】 -a:列出所有的檔案系統,包括系統特有的/proc等檔案系統 -h:以KB的容量顯示各檔案系統 -m:以MB的容量顯示各檔案系統 -h:以人們較易閱讀的GB,MB,
輕鬆實現windows和linux間的檔案互傳,簡單粗暴!
本人是個linux新手,將學習linux過程中遇到的問題,解決方法及收穫分享出來和大家一起討論交流,一起進步。如有不正確的地方,歡迎大家指正。 步驟: 1. 下載安裝FileZilla 客戶端(FileZill
視訊照片合成軟體哪個好?快速把手機照片做成視訊,簡單操作,效果精美!
視訊照片合成軟體哪個好?怎麼把照片合成視訊?如何快速把手機照片做成視訊? 這是我用數碼大師把手機照片合成視訊的效果截圖: 第一步:快速匯入多張照片,為照片配上文字 點選“新增相片”就能快速匯入照片,大家可以同時加入多張照片。想改變照片的播放順序,用滑鼠直接拖拽照片就能調整了。如果
QBuffer簡單操作(被看做一個標準的可隨機訪問的檔案,支援訊號)
Qt中通過QBuffer類我們可以使用io的方式訪問、操作QByteArray中的內容。此時,QByteArray被看做一個標準的可隨機訪問的檔案。例如: QBuffer buffer; char ch; buffer.open(QBuffer::ReadWrite); buffer.write("Qt
python3檔案操作
import os import shutil os.getcwd() # 獲取當前工作目錄,非指令碼目錄 os.listdir() # 返回指定目錄下的所有檔案和目錄,非遞迴 os.remove() # 刪除檔案 os.removedirs() #刪除目錄 os.path.isf
git 提交本地檔案到coding.net 簡單操作
今天嘗試下將原生代碼 提交到coding.net,因為是新手,練習了下提交程式碼 下面是簡單的推送步驟: 第一步如上所示,因為不小心把git 關了,下面是具體的步驟: 第二步 第三步、 git push origin master 會提示先pull
CentOS系統下簡單的分散式(HDFS)資料夾建立,檔案上傳、下載等簡單操作
目錄 Linux中eclipse建立分散式普通專案的基本操作 建立工具類及測試類 這裡基於上一篇部落格(https://blog.csdn.net/gaofengyan/article/details/85790825)進行學
Python3 --- 檔案操作
一、檔案的開啟 在Python中使用open函式,可以開啟一個已經存在的檔案,或者建立一個新檔案 格式:open(檔名,訪問模式) 示例: file = open("D://python_f
Python3 檔案操作應用練習
import json '''將列表中的多個字典資訊轉為json資料,儲存到檔案。檔案操作應用練習''' list = [{'k1': '值1', 'k2': '值2', 'k3': '值3'}, {'