本文目錄一覽:
- 1、如何用Python打開指定的某個文件夾?比如我要用Python打開D盤裡的一個普通文件,該怎麼做
- 2、python獲取文件權限linux中,如何使用python獲取指定文件的權限
- 3、python文件權限不夠
- 4、R、python的文件夾操作
- 5、python linux限制只能打開指定目錄下的文件
如何用Python打開指定的某個文件夾?比如我要用Python打開D盤裡的一個普通文件,該怎麼做
操作系統一般不允許程序直接操作磁盤文件的,文件在磁盤上的讀寫都是由操作系統提供的,文件操作包括創建、刪除、修改權限、讀取、寫入等。要想實現對文件的操作就需要請求操作系統打開一個文件對象,然後通過操作系統提供的接口來實現對文件讀寫的相關操作。讀寫文件是最常見的 I/O 操作,Python內置相關API可以幫助我們快速的實現文件讀寫操作。
文件對象
Python內置的 open() 函數可以用於打開指定文件 ,該函數會返回一個文件對象(該對象包含了當前文件擁有的屬性信息,相當於文件句柄)。參數file為要創建或打開文件的文件名稱,參數mode用於指定文件的打開模式(可選),參數buffering用於指定對文件做讀寫操作時是否使用緩衝區。在打開文件之後就可調用文件對象的屬性和方法,完成對文件的讀/寫操作之後最後需要關閉該文件,通過文件對象的close() 函數來實現即可。
打開模式
文件打開是可以指定其打開的模式,該參數通過mode來指定【默認模式為只讀(r)】。選擇不同的打開模式決定了後續可以對文件進行操作,如果使用 r 模式打開的文件則只能讀取文件而無法修改文件內容。open()提供了多種打開模式,下面列出了對應的打開模式和說明:
python獲取文件權限linux中,如何使用python獲取指定文件的權限
[root@st-upgrade ~]# python
Python 2.6.5 (r265:79063, Nov 12 2010, 00:45:29)
[GCC 4.4.4 20100525 (Red Hat 4.4.4-5)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
import os
os.stat(‘/home’).st_mode
16877
oct(os.stat(‘/home’).st_mode)
‘040755’
755就是/home的權限,切個片oct(os.stat(‘/home’).st_mode)[3:],就可以了
python文件權限不夠
你的賬號沒有文件夾的權限唄,不知道你是用什麼容器調用的python。如果是aspx,它是用另外一個系統賬號來運行的,和你當前登錄的賬號是不一樣的,權限也不一樣,不能訪問很正常。你把imgs設為所有人都有權限讀寫就行了。
R、python的文件夾操作
Python OS模塊
1.重命名:os.rename(old, new)
2.刪除:os.remove(file)
3.列出目錄下的 文件 :os.listdir(path)
4.獲取當前工作目錄:os.getcwd()
5.改變工作目錄:os.chdir(newdir)
6.創建多級目錄:os.makedirs(r”c:/python /test”)
7.創建單個目錄:os.mkdir(“test”)
8.刪除多個目錄:os.removedirs(r”c:/python”) #刪除所給路徑最後一個目錄下所有空目錄。
9.刪除單個目錄:os.rmdir(“test”)
10.獲取文件屬性:os.stat(file)
11.修改文件權限與時間戳:os.chmod(file)
12.執行操作系統 命令:os.system(“dir”)
13.啟動新進程:os.exec(), os.execvp()
14.在後台執行程序:osspawnv()
15.終止當前進程:os.exit(), os._exit()
16.分離文件名:os.path.split(r”c:/python/ hello.py “) – (“c://python”, ” hello.py “)
17.分離擴展名:os.path.splitext(r”c:/python/ hello.py “) – (“c://python//hello”, “.py”)
18.獲取路徑名:os.path.dirname(r”c:/python/ hello.py “) – “c://python”
19.獲取文件名:os.path.basename(r”r:/python/hello.py”) – “hello.py”
20.判斷文件是否存在:os.path.exists(r”c:/python/hello.py”) – True
21.判斷是否是絕對路徑:os.path.isabs(r”./python/”) – False
22.判斷是否是目錄:os.path.isdir(r”c:/python”) – True
23.判斷是否是文件:os.path.isfile(r”c:/python/hello.py”) – True
24.判斷是否是鏈接文件:os.path.islink(r”c:/python/hello.py”) – False
25.獲取文件大小:os.path.getsize(filename)
26.*******:os.ismount(“c://”) – True
27.搜索目錄下的所有文件:os.path.walk()
[2.shutil]
1.複製單個文件:shultil.copy(oldfile, newfle)
2.複製整個目錄樹:shultil.copytree(r”./setup”, r”./backup”)
3.刪除整個目錄樹:shultil.rmtree(r”./backup”)
[3.tempfile]
1.創建一個唯一的臨時文件:tempfile.mktemp() – filename
2.打開臨時文件:tempfile.TemporaryFile()
[4.StringIO] #cStringIO是StringIO模塊的快速實現模塊
1.創建內存 文件並寫入初始數據 :f = StringIO.StringIO(“Hello world!”)
2.讀入內存文件數據:print f.read() #或print f.getvalue() – Hello world!
3.想內存文件寫入數據:f.write(“Good day!”)
4.關閉內存文件:f.close()
rm(list=ls())
path = ‘J:/lab/EX29 –在R語言中進行文件(夾)操作’
setwd(path)
cat(“file A\n”, file=”A”) #創建一個文件A,文件內容是’file A’,’\n’表示換行,這是一個很好的習慣
cat(“file B\n”, file=”B”) #創建一個文件B
file.append(“A”, “B”) #將文件B的內容附到A內容的後面,注意沒有空行
file.create(“A”) #創建一個文件A, 注意會覆蓋原來的文件
file.append(“A”, rep(“B”, 10)) #將文件B的內容複製10便,並先後附到文件A內容後
file.show(“A”) #新開工作窗口顯示文件A的內容
file.copy(“A”, “C”) #複製文件A保存為C文件,同一個文件夾
dir.create(“tmp”) #創建名為tmp的文件夾
file.copy(c(“A”, “B”), “tmp”) #將文件夾拷貝到tmp文件夾中
list.files(“tmp”) #查看文件夾tmp中的文件名
unlink(“tmp”, recursive=F) #如果文件夾tmp為空,刪除文件夾tmp
unlink(“tmp”, recursive=TRUE) #刪除文件夾tmp,如果其中有文件一併刪除
file.remove(“A”, “B”, “C”) #移除三個文件
python linux限制只能打開指定目錄下的文件
可以通過命令:”chmod755test.sh”進行修改
linux文件或目錄的權限分為,讀、寫、可種權限。文件訪問的用,文件創建者、與文件創建者同組的用戶、其他用戶三類。修改文件的權限或目錄的命令為:”chmod755test.sh”。
原創文章,作者:FC3LW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130867.html