pythonoschmod
1. python 基礎教程
運算
a = 21
b = 10
c = 0
c = a + b
print "1 - c 的值為:", c
c = a - b
print "2 - c 的值為:", c
c = a * b
print "3 - c 的值為:", c
c = a / b
print "4 - c 的值為:", c
c = a % b
print "5 - c 的值為:", c
a = 2
b = 3
c = a**b
print "6 - c 的值為:", c
a = 10
b = 5
c = a//b
print "7 - c 的值為:", c
python比較
a = 21
b = 10
c = 0
if ( a == b ):
print "1 - a 等於 b"
else:
print "1 - a 不等於 b"
if ( a != b ):
print "2 - a 不等於 b"
else:
print "2 - a 等於 b"
if ( a <> b ):
print "3 - a 不等於 b"
else:
print "3 - a 等於 b"
if ( a < b ):
print "4 - a 小於 b"
else:
print "4 - a 大於等於 b"
if ( a > b ):
print "5 - a 大於 b"
else:
print "5 - a 小於等於 b"
a = 5
b = 20
if ( a <= b ):
print "6 - a 小於等於 b"
else:
print "6 - a 大於 b"
if ( b >= a ):
print "7 - b 大於等於 a"
else:
print "7 - b 小於 a"
賦值
a = 21
b = 10
c = 0
c = a + b
print "1 - c 的值為:", c
c += a
print "2 - c 的值為:", c
c *= a
print "3 - c 的值為:", c
c /= a
print "4 - c 的值為:", c
c = 2
c %= a
print "5 - c 的值為:", c
c **= a
print "6 - c 的值為:", c
c //= a
print "7 - c 的值為:", c
邏輯運算符:
a = 10
b = 20
if ( a and b ):
print "1 - 變數 a 和 b 都為 true"
else:
print "1 - 變數 a 和 b 有一個不為 true"
if ( a or b ):
print "2 - 變數 a 和 b 都為 true,或其中一個變數為 true"
else:
print "2 - 變數 a 和 b 都不為 true"
a = 0
if ( a and b ):
print "3 - 變數 a 和 b 都為 true"
else:
print "3 - 變數 a 和 b 有一個不為 true"
if ( a or b ):
print "4 - 變數 a 和 b 都為 true,或其中一個變數為 true"
else:
print "4 - 變數 a 和 b 都不為 true"
if not( a and b ):
print "5 - 變數 a 和 b 都為 false,或其中一個變數為 false"
else:
print "5 - 變數 a 和 b 都為 true"
in,not in
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list ):
print "1 - 變數 a 在給定的列表中 list 中"
else:
print "1 - 變數 a 不在給定的列表中 list 中"
if ( b not in list ):
print "2 - 變數 b 不在給定的列表中 list 中"
else:
print "2 - 變數 b 在給定的列表中 list 中"
a = 2
if ( a in list ):
print "3 - 變數 a 在給定的列表中 list 中"
else:
print "3 - 變數 a 不在給定的列表中 list 中"
條件
flag = False
name = 'luren'
if name == 'python': # 判斷變數否為'python'
flag = True # 條件成立時設置標志為真
print 'welcome boss' # 並輸出歡迎信息
else:
print name
num = 5
if num == 3: # 判斷num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小於零時輸出
print 'error'
else:
print 'roadman' # 條件均不成立時輸出
循環語句:
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
print "Good bye!"
i = 1
while i < 10:
i += 1
if i%2 > 0: # 非雙數時跳過輸出
continue
print i # 輸出雙數2、4、6、8、10
i = 1
while 1: # 循環條件為1必定成立
print i # 輸出1~10
i += 1
if i > 10: # 當i大於10時跳出循環
break
for letter in 'Python': # 第一個實例
print '當前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二個實例
print '當前水果 :', fruit
print "Good bye!"
獲取用戶輸入:raw_input
var = 1
while var == 1 : # 該條件永遠為true,循環將無限執行下去
num = raw_input("Enter a number :")
print "You entered: ", num
print "Good bye!"
range,len
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '當前水果 :', fruits[index]
print "Good bye!"
python數學函數:
abs,cell,cmp,exp,fabs,floor,log,log10,max,min,mod,pow,round,sqrt
randrange
訪問字元串的值
var1 = 'Hello World!'
var2 = "Python Runoob"
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
轉義字元
格式化輸出
print "My name is %s and weight is %d kg!" % ('Zara', 21)
字元串函數:
添加元素
list = [] ## 空列表
list.append('Google') ## 使用 append() 添加元素
list.append('Runoob')
print list
刪除元素
list1 = ['physics', 'chemistry', 1997, 2000]
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1
列表操作
列表方法
刪除字典
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
del dict['Name']; # 刪除鍵是'Name'的條目
dict.clear(); # 清空詞典所有條目
del dict ; # 刪除詞典
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];
字典的函數:
當前時間戳:
import time
time.time()
格式化日期輸出
import time
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
獲取某個月日歷:calendar
import calendar
cal = calendar.month(2016, 1)
print "以下輸出2016年1月份的日歷:"
print cal
當前日期和時間
import datetime
i = datetime.datetime.now()
print ("當前的日期和時間是 %s" % i)
print ("ISO格式的日期和時間是 %s" % i.isoformat() )
print ("當前的年份是 %s" %i.year)
print ("當前的月份是 %s" %i.month)
print ("當前的日期是 %s" %i.day)
print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )
print ("當前小時是 %s" %i.hour)
print ("當前分鍾是 %s" %i.minute)
print ("當前秒是 %s" %i.second)
不定長參數:*
lambda:匿名函數
def....
python模塊搜索路徑
獲取用戶輸入
str = raw_input("請輸入:")
print "你輸入的內容是: ", str
input可以接收表達式
open參數
write要自己添加換行符
讀取10個字元
重命名:os.rename
os.remove
os.mkdir os.chdir
os.getcwd
os.rmdir
open參數
file的方法
異常:
try:
fh = open("testfile", "w")
fh.write("這是一個測試文件,用於測試異常!!")
except IOError:
print "Error: 沒有找到文件或讀取文件失敗"
else:
print "內容寫入文件成功"
fh.close()
try:
fh = open("testfile", "w")
fh.write("這是一個測試文件,用於測試異常!!")
finally:
print "Error: 沒有找到文件或讀取文件失敗"
用戶自定義異常:
os 模塊提供了非常豐富的方法用來處理文件和目錄。常用的方法如下表所示:
| 序號 | 方法及描述 |
| 1 |
os.access(path, mode)
檢驗許可權模式 |
| 2 |
os.chdir(path)
改變當前工作目錄 |
| 3 |
os.chflags(path, flags)
設置路徑的標記為數字標記。 |
| 4 |
os.chmod(path, mode)
更改許可權 |
| 5 |
os.chown(path, uid, gid)
更改文件所有者 |
| 6 |
os.chroot(path)
改變當前進程的根目錄 |
| 7 |
os.close(fd)
關閉文件描述符 fd |
| 8 |
os.closerange(fd_low, fd_high)
關閉所有文件描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略 |
| 9 |
os.p(fd)
復制文件描述符 fd |
| 10 |
os.p2(fd, fd2)
將一個文件描述符 fd 復制到另一個 fd2 |
| 11 |
os.fchdir(fd)
通過文件描述符改變當前工作目錄 |
| 12 |
os.fchmod(fd, mode)
改變一個文件的訪問許可權,該文件由參數fd指定,參數mode是Unix下的文件訪問許可權。 |
| 13 |
os.fchown(fd, uid, gid)
修改一個文件的所有權,這個函數修改一個文件的用戶ID和用戶組ID,該文件由文件描述符fd指定。 |
| 14 |
os.fdatasync(fd)
強制將文件寫入磁碟,該文件由文件描述符fd指定,但是不強制更新文件的狀態信息。 |
| 15 |
os.fdopen(fd[, mode[, bufsize]])
通過文件描述符 fd 創建一個文件對象,並返回這個文件對象 |
| 16 |
os.fpathconf(fd, name)
返回一個打開的文件的系統配置信息。name為檢索的系統配置的值,它也許是一個定義系統值的字元串,這些名字在很多標准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |
| 17 |
os.fstat(fd)
返迴文件描述符fd的狀態,像stat()。 |
| 18 |
os.fstatvfs(fd)
返回包含文件描述符fd的文件的文件系統的信息,像 statvfs() |
| 19 |
os.fsync(fd)
強制將文件描述符為fd的文件寫入硬碟。 |
| 20 |
os.ftruncate(fd, length)
裁剪文件描述符fd對應的文件, 所以它最大不能超過文件大小。 |
| 21 |
os.getcwd()
返回當前工作目錄 |
| 22 |
os.getcw()
返回一個當前工作目錄的Unicode對象 |
| 23 |
os.isatty(fd)
如果文件描述符fd是打開的,同時與tty(-like)設備相連,則返回true, 否則False。 |
| 24 |
os.lchflags(path, flags)
設置路徑的標記為數字標記,類似 chflags(),但是沒有軟鏈接 |
| 25 |
os.lchmod(path, mode)
修改連接文件許可權 |
| 26 |
os.lchown(path, uid, gid)
更改文件所有者,類似 chown,但是不追蹤鏈接。 |
| 27 |
os.link(src, dst)
創建硬鏈接,名為參數 dst,指向參數 src |
| 28 |
os.listdir(path)
返回path指定的文件夾包含的文件或文件夾的名字的列表。 |
| 29 |
os.lseek(fd, pos, how)
設置文件描述符 fd當前位置為pos, how方式修改: SEEK_SET 或者 0 設置從文件開始的計算的pos; SEEK_CUR或者 1 則從當前位置計算; os.SEEK_END或者2則從文件尾部開始. 在unix,Windows中有效 |
| 30 |
os.lstat(path)
像stat(),但是沒有軟鏈接 |
| 31 |
os.major(device)
從原始的設備號中提取設備major號碼 (使用stat中的st_dev或者st_rdev field)。 |
| 32 |
os.makedev(major, minor)
以major和minor設備號組成一個原始設備號 |
| 33 |
os.makedirs(path[, mode])
遞歸文件夾創建函數。像mkdir(), 但創建的所有intermediate-level文件夾需要包含子文件夾。 |
| 34 |
os.minor(device)
從原始的設備號中提取設備minor號碼 (使用stat中的st_dev或者st_rdev field )。 |
| 35 |
os.mkdir(path[, mode])
以數字mode的mode創建一個名為path的文件夾.默認的 mode 是 0777 (八進制)。 |
| 36 |
os.mkfifo(path[, mode])
創建命名管道,mode 為數字,默認為 0666 (八進制) |
| 37 |
os.mknod(filename[, mode=0600, device])
創建一個名為filename文件系統節點(文件,設備特別文件或者命名pipe)。
|
| 38 |
os.open(file, flags[, mode])
打開一個文件,並且設置需要的打開選項,mode參數是可選的 |
| 39 |
os.openpty()
打開一個新的偽終端對。返回 pty 和 tty的文件描述符。 |
| 40 |
os.pathconf(path, name)
返回相關文件的系統配置信息。 |
| 41 |
os.pipe()
創建一個管道. 返回一對文件描述符(r, w) 分別為讀和寫 |
| 42 |
os.popen(command[, mode[, bufsize]])
從一個 command 打開一個管道 |
| 43 |
os.read(fd, n)
從文件描述符 fd 中讀取最多 n 個位元組,返回包含讀取位元組的字元串,文件描述符 fd對應文件已達到結尾, 返回一個空字元串。 |
| 44 |
os.readlink(path)
返回軟鏈接所指向的文件 |
| 45 |
os.remove(path)
刪除路徑為path的文件。如果path 是一個文件夾,將拋出OSError; 查看下面的rmdir()刪除一個 directory。 |
| 46 |
os.removedirs(path)
遞歸刪除目錄。 |
| 47 |
os.rename(src, dst)
重命名文件或目錄,從 src 到 dst |
| 48 |
os.renames(old, new)
遞歸地對目錄進行更名,也可以對文件進行更名。 |
| 49 |
os.rmdir(path)
刪除path指定的空目錄,如果目錄非空,則拋出一個OSError異常。 |
| 50 |
os.stat(path)
獲取path指定的路徑的信息,功能等同於C API中的stat()系統調用。 |
| 51 |
os.stat_float_times([newvalue])
決定stat_result是否以float對象顯示時間戳
|
| 52 |
os.statvfs(path)
獲取指定路徑的文件系統統計信息 |
| 53 |
os.symlink(src, dst)
創建一個軟鏈接 |
| 54 |
os.tcgetpgrp(fd)
返回與終端fd(一個由os.open()返回的打開的文件描述符)關聯的進程組 |
| 55 |
os.tcsetpgrp(fd, pg)
設置與終端fd(一個由os.open()返回的打開的文件描述符)關聯的進程組為pg。 |
| 56 |
os.tempnam([dir[, prefix]])
返回唯一的路徑名用於創建臨時文件。 |
| 57 |
os.tmpfile()
返回一個打開的模式為(w+b)的文件對象 .這文件對象沒有文件夾入口,沒有文件描述符,將會自動刪除。 |
| 58 |
os.tmpnam()
為創建一個臨時文件返回一個唯一的路徑 |
| 59 |
os.ttyname(fd)
返回一個字元串,它表示與文件描述符fd 關聯的終端設備。如果fd 沒有與終端設備關聯,則引發一個異常。 |
| 60 |
os.unlink(path)
刪除文件路徑 |
| 61 |
os.utime(path, times)
返回指定的path文件的訪問和修改的時間。 |
| 62 |
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
輸出在文件夾中的文件名通過在樹中遊走,向上或者向下。 |
| 63 |
os.write(fd, str)
寫入字元串到文件描述符 fd中. 返回實際寫入的字元串長度 |
2. python os.mkdirs 怎麼設置777
直接用os.mkdirs('要創建的目錄')來創建目錄
然後可以通過os.system('chmod 777 創建的目錄')來修改許可權
3. Python中OS模板的什麼方法用來改變默認目錄
python os模板操作文件和目錄常用方法
python 常用操作文件和目錄方法:
獲得當前python腳本工作的目錄路徑:os.getcwd()
返回指定目錄下的所有文件和目錄名:os.listdir()。例如:返回C盤下的文件:os.listdir("C:")
刪除一個文件:os.remove(filepath)
刪除多個空目錄:os.removedirs(r'd:python')
檢驗給出的路徑是否是一個文件:os.path.isfile(filepath)
檢驗給出的路徑是否是一個目錄:os.path.isdir(filepath)
判斷是否是絕對路徑:os.isabs()
檢驗路徑是否真的存在:os.path.exists()。例如檢驗D盤下是否有Python文件夾:os.path.exists(r'd:python')
分離一個路徑的目錄名和文件名:os.path.split()。例如:os.path.split(r'/home/qiye/qiye.txt)
返回結果是一個元祖:('/home/qiye','qiye.txt')分離擴展名:os.path.splitext()。例如:例如:os.path.split(r'/home/qiye/qiye.txt)
返回結果是一個元祖:('/home/qiye/qiye','.txt')獲取路徑名:os.path.dirname(filepath)
獲取文件名:os.path.basename(filepath)
讀取和設置環境變數:os.getenv()和os.putenv()
重命名文件或者目錄:os.rename(old,new)
創建多級目錄:os.makedirs(r'c:python est')
創建單個目錄:os.mkdir("test")
獲取文件屬性:os.stat(file)
獲取文件大小:os.getsize(filename)
刪除目錄:os.rmdir("dir") 只能刪除空目錄
獲取文件屬性和時間戳:os.chmod(file)
4. 請教python os.chmod
看一下是不是linux系統許可權的問題。確保你對那個目錄有讀寫許可權。另外,如果是想一個指令建立多級目錄,需要用-p參數。 mkdir -p PATH
5. Python 文件操作
open(filename[,mode,encoding="編碼"]) :第一個參數文件名如果不加路徑,默認在該py文件目錄下(路徑舉例: E:/XXX或E:\xxx ),第二個是模式,默認為 'r' ——只讀,舉例: f = open('E:/abc.txt') ,如果要轉編碼並寫入模式:
f = open('E:/abc.txt','w',encoding='utf-8')
1. 模式
2. 方法
(1) close() : 關閉文件,因為文件寫入時是寫在內存,只有關閉時才寫入硬碟,所以寫完記得關閉
(2) read(size = -1) :讀取文件size個字元,不寫默認是-1,此時讀取所有內容(換行按
來表示,很不好看),並作為字元串返回,一定要注意 讀完以後文件指針將會指向末尾 ,所以下一次在用read方法時會發現讀取不出內容了,所以這個就要用seek移動指針或者關閉文件重新定義
(3) tell() :返回當前文件指針指向的位置
(4) seek(offset,from) :移動文件指針,代表從from參數開始偏移offset個位元組,0代表起始位置,1代表當前位置,2代表文件末尾
(5) readline() :按序列讀取一行內容,默認
為邊界
(6) write() :寫入內容,但必須要有寫入許可權才行,否則報錯,寫完會返回寫入的長度,例如: len1 = f.write('abc') ,此時len1就為3
(7) truncate() :刪除內容,把當前指針以後的內容全刪了,舉例:
註:
1.文件還可以轉化為 list 之類的,例如: list1 = list(f) ,此時文件內容的按
被隔開,然後可以用for語句讀取文件所有內容,舉例:
2.上面輸出文件內容方法相對低效,所以一般都直接用for輸出整個文件,舉例:
通過 fileno 函數,我們可以查看一個文件對應的文件描述符,對應的是程序中打開的文件序號,舉例:
可以看出python在啟動時會先啟動標准流的文件(文件描述符分別為:0/1/2),所以之後打開的文件就從3開始遞增,當釋放一個文件資源時,該描述符序號被釋放,之後打開的文件可以繼續使用該序號的文件描述符
python中的 print 的本質是通過 sys.stdout 來進行內容輸出,而 sys.stdout 的本質是一個"文件",相當於我們所有的輸入輸出的本質都是在對 sys.stdin / sys.stdout / sys.stderr 這些文件來進行讀寫操作,舉例:
open 函數不僅可以打開本地文件,也可以打開文件描述符,而該參數默認為 True ,代表 close 後會將對應的文件資源釋放,而對於一些文件描述符,我們只是希望 close 時將打開文件描述符的對象釋放,而不釋放對應的文件資源,那麼則可以設置 closefd=False ,舉例:
需要使用到 chardet 模塊,按二進制可讀打開文件,然後通過 detect() 方法查看,舉例:
所以就可以根據文件來設置編碼了:
有時候使用文件的編碼解碼也可能會出現無法解析的情況,例如兩種編碼混在同一個文件里的時候,此時可以設置 errors 參數為 ignore 來避免該問題,示例:
可用 os 模塊下的 chmod() 函數,具體參考: http://www.runoob.com/python/os-chmod.html
使用 os 模塊下的 remove() 函數可以實現刪除文件,舉例:
可以使用自帶的 zipfile 模塊來進行操作,舉例:
可以使用自帶的 tarfile 模塊來進行操作,舉例:
https://www.cnblogs.com/lotusto/p/5805543.html
6. python 如何通過儲存在CSV文件中第一列的文件名查找在電腦指定目錄的jpg文件並移動到另外一個指定文件夾
python 移動文件或文件夾操作。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.判斷是否是絕對路徑:os.path.isabs()
8.檢驗給出的路徑是否真地存:os.path.exists()
9.返回一個路徑的目錄名和文件名:os.path.split() eg 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.運行shell命令: 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)
文件操作方法大全:
1.os.mknod(「test.txt」) #創建空文件
2.fp = open(「test.txt」,w) #直接打開一個文件,如果文件不存在則創建文件
3.關於open 模式:
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+的模式打開,每次進行寫操作時,文件操作標記會自動返回到文件末尾。
目錄操作方法大全
1.創建目錄
os.mkdir(「file」)
2.復制文件:
shutil.file(「oldfile」,」newfile」) #oldfile和newfile都只能是文件
shutil.(「oldfile」,」newfile」) #oldfile只能是文件夾,newfile可以是文件,也可以是目標目錄
3.復制文件夾:
4.shutil.tree(「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』
7. python的io模塊和os模塊有什麼區別
os: This mole provides a portable way of using operating system dependent functionality.
這個模塊提供了一種方便的使用操作系統函數的方法。
os 常用方法
os.remove() 刪除文件
os.rename() 重命名文件
os.walk() 生成目錄樹下的所有文件名
os.chdir() 改變目錄
os.mkdir/makedirs 創建目錄/多層目錄
os.rmdir/removedirs 刪除目錄/多層目錄
os.listdir() 列出指定目錄的文件
os.getcwd() 取得當前工作目錄
os.chmod() 改變目錄許可權
os.path.basename() 去掉目錄路徑,返迴文件名
os.path.dirname() 去掉文件名,返回目錄路徑
os.path.join() 將分離的各部分組合成一個路徑名
os.path.split() 返回( dirname(), basename())元組
os.path.splitext() 返回 (filename, extension) 元組
os.path.getatime\ctime\mtime 分別返回最近訪問、創建、修改時間
os.path.getsize() 返迴文件大小
os.path.exists() 是否存在
os.path.isabs() 是否為絕對路徑
os.path.isdir() 是否為目錄
os.path.isfile() 是否為文件
Python中的io模塊是用來處理各種類型的I/O操作流,主要是文件處理。主要有三種類型的I/O類型:文本I/O(Text I/O),二進制I/O(Binary I/O)和原始I/O(Raw I/O)。它們都是通用類別,每一種都有不同的後備存儲。屬於這些類別中的任何一個的具體對象稱為文件對象,其他常用的術語為流或者類文件對象。
8. Python os模塊
Python2.7.8(default,Jun302014,16:03:49)[MSCv.150032bit(Intel)]onwin32
Type"help","right","credits"or"license"formoreinformation.
>>>importos
>>>dir(os)
['F_OK','O_APPEND','O_BINARY','O_CREAT','O_EXCL','O_NOINHERIT','O_RANDOM',
'O_RDONLY','O_RDWR','O_SEQUENTIAL','O_SHORT_LIVED','O_TEMPORARY','O_TEXT',
'O_TRUNC','O_WRONLY','P_DETACH','P_NOWAIT','P_NOWAITO','P_OVERLAY','P_WAIT',
'R_OK','SEEK_CUR','SEEK_END','SEEK_SET','TMP_MAX','UserDict','W_OK','X_OK',
'_Environ','__all__','__builtins__','__doc__','__file__','__name__',
'__package__','__reg','_execvpe','_exists','_exit','_get_exports_list',
'_make_stat_result','_make_statvfs_result','_pickle_stat_result',
'_pickle_statvfs_result','abort','access','altsep','chdir','chmod','close',
'closerange','curdir','defpath','devnull','p','p2','environ','errno',
'error','execl','execle','execlp','execlpe','execv','execve','execvp',
'execvpe','extsep','fdopen','fstat','fsync','getcwd','getcw','getenv',
'getpid','isatty','kill','linesep','listdir','lseek','lstat','makedirs',
'mkdir','name','open','pardir','path','pathsep','pipe','popen','popen2',
'popen3','popen4','putenv','read','remove','removedirs','rename','renames',
'rmdir','sep','spawnl','spawnle','spawnv','spawnve','startfile','stat',
'stat_float_times','stat_result','statvfs_result','strerror','sys','system',
'tempnam','times','tmpfile','tmpnam','umask','unlink','unsetenv',
'urandom','utime','waitpid','walk','write']
>>>
首先,根據報錯信息,可以得到os沒有 getlogin()
然後,dir(os)看到確實沒有
使用dir可以查看當前模塊的所有屬性 及方法
9. 用python語句如何刪除只讀文件
參考了lz給出的答案 結合一個函數 即可達到lz的目的
import os
import stat
os.chmod( filename, stat.S_IWRITE )
os.remove(filename)
假設我C盤下有個只讀的1.txt
直接用os.remove("c:\\1.txt") 是不行的
可以這樣
import os
import stat
os.chmod( "c:\\1.txt", stat.S_IWRITE )將只讀設置為可寫
os.remove("c:\\1.txt") 刪除
www.52sky.org