Python文件操作---正斜杠與反斜杠


Python中的正斜杠與反斜杠

首先,"/"左傾斜是正斜杠,"\"右傾斜是反斜杠,可以記為:除號是正斜杠一般來說對於目錄分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是現在Windows

(一)目錄中的斜杠們

python讀文件需要輸入的目錄參數,列出以下例子:

path = r"C:\Windows\temp\readme.txt"

path1 = r"c:\windows\temp\readme.txt"

path2 = "c:\\windows\\temp\\readme.txt"

path3 = "c:/windows/temp/readme.txt"

打開文件函數open()中的參數可以是path也可以是path1、path2、path3。

path:"\"為字符串中的特殊字符,加上r后變為原始字符串,則不會對字符串中的"\t"、"\r"        進行字符串轉義

path1:大小寫不影響windows定位到文件

path2:用一個"\"取消第二個"\"的特殊轉義作用,即為"\\"

path3:用正斜杠做目錄分隔符也可以轉到對應目錄,並且在python中path3的方式也省去了反斜杠\轉義的煩惱

 

(二)正則表達式中的斜杠們

正則表達式匹配反斜杠"\",為什么是"\\\\"或是 r"\\"呢?

因為在正則表達式中\為特殊符號,為了取消它在正則表達式中的特殊意義需要加一個\就變成了\\,但是問題又來了,\也是字符串中的特殊字符,所以又要分別對兩個\取消其特殊意義,即為\\\\。Python中有一個原始字符串操作符,用於那些字符串中出現特殊字符,在原始字符串中,沒有轉義字符和不能打印的字符。這樣就可以取消了\在字符串中的轉義功能,即r"\\"。

 

Python中的split()函數的用法

原文:https://www.cnblogs.com/hjhsysu/p/5700347.html

Python中有split()和os.path.split()兩個函數,具體作用如下:
split():拆分字符串。通過指定分隔符對字符串進行切片,並返回分割后的字符串列表(list)
os.path.split():按照路徑將文件名和路徑分割開

 

一、函數說明

1、split()函數
語法:str.split(str="",num=string.count(str))[n]

參數說明:
str:表示為分隔符,默認為空格,但是不能為空('')。若字符串中沒有分隔符,則把整個字符串作為列表的一個元素
num:表示分割次數。如果存在參數num,則僅分隔成 num+1 個子字符串,並且每一個子字符串可以賦給新的變量
[n]:表示選取第n個分片

注意:當使用空格作為分隔符時,對於中間為空的項會自動忽略

2、os.path.split()函數
語法:os.path.split('PATH')

參數說明:

1.PATH指一個文件的全路徑作為參數:

2.如果給出的是一個目錄和文件名,則輸出路徑和文件名

3.如果給出的是一個目錄名,則輸出路徑和為空文件名

 

二、分離字符串

string = "www.gziscas.com.cn"

1.以'.'為分隔符

print(string.split('.'))

['www', 'gziscas', 'com', 'cn']

 

2.分割兩次

print(string.split('.',2))

['www', 'gziscas', 'com.cn']

 

3.分割兩次,並取序列為1的項

print(string.split('.',2)[1])

gziscas

 

4.分割兩次,並把分割后的三個部分保存到三個文件

u1, u2, u3 =string.split('.',2)

print(u1)—— www

print(u2)—— gziscas

print(u3) ——com.cn

 

三、分離文件名和路徑

import os

print(os.path.split('/dodo/soft/python/'))

('/dodo/soft/python', '')

 

print(os.path.split('/dodo/soft/python'))

('/dodo/soft', 'python') 

 

四、實例

str="hello boy<[www.baidu.com]>byebye"

print(str.split("[")[1].split("]")[0])

www.baidu.com


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM