當前位置:首頁 » 編程語言 » python多級目錄

python多級目錄

發布時間: 2023-01-29 14:27:23

『壹』 python導入上一級/下一級/任一級目錄下的.py文件問題

有如下目錄:

即python文件夾下有file1, file2, pfile.py, data.py,文件夾file1下又有file1_1, pfile1.py, 文件夾file2下有pfile2.py,文件夾file1_1下又有pfile1_1.py。

在文件pfile.py中導入pfile1.py, pfile2.py或 pfile1_1.py,並使用其中的函數(假設函數名分別文fun1(), fun2(), fun1_1()):

需要注意的是,這種導入方式下,如果要用導入的文件中的函數或者類,需要在其前面加上文件名,即 "文件名.函數名" 的形式

有些教程裡面說,需要在下一級目錄下新建一個空的python文件命名為 __init__.py,但我在運行時發現不建一個文件也會導入成功。

如果要在pfile1.py中調用pfile.py 和 pfile2.py,因為當前路徑是 '/home/puxitong/python/file1/' ,而 pfile.py和pfile1.py在路徑'/home/puxitong/python/' 及其子路徑下,這里的思路是將上一級目錄 '/home/puxitong/python/' 添加在系統路徑中,可以直接訪問pfile.py,然後將pfile2.py 按照下一級路徑導入方式進行導入:

如果要在pfile1_1.py中導入pfile.py, pfile1.py, pfile2.py呢? 原理是一樣的,即將文件pfile.py所在路徑添加到系統路徑中,可直接導入pfile.py, 再按照下級文件導入方式導入pfile1.py和pfile2.py:

『貳』 python怎樣創建多級目錄

具體實現方法如下:
import os
os.makedirs( "/home/jb51/data" )

這樣就可以創建一個三級目錄。

『叄』 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.(oldfile, newfle)
2.復制整個目錄樹:shultil.tree(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.("A", "C") #復制文件A保存為C文件,同一個文件夾
dir.create("tmp") #創建名為tmp的文件夾
file.(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創建文件夾

首先可以用Python的os模塊中的exists來判斷目錄是否存在。
python學習網,大量的免費python視頻教程,歡迎在線學習!
相關推薦:《Python教程》
如果目錄或者是文件存在則os便會返回TRUE的結果。
創建目錄可以先用getcwd取得當前目錄之後再拼接目錄名稱即可創建文件夾了。
Python的os模塊中的mkdir也可以直接用絕對路徑來創建出一個空的文件夾。
如果想要創建多級目錄則要用到os模塊中的makedirs才行。

python學習網,大量的免費python視頻教程,歡迎在線學習!

『伍』 自學Python:查看文件夾及子目錄所有文件路徑

使用路徑對象glob()函數和rglob()函數,可以查看指定路徑下的文件和子文件夾,兩者的區別在於,glob()函數只進行一級查找,而rglob()函數會進行多級查找。

from pathlib import Path

p = Path('d:\\文件夾\\')

r = p.glob('*')

for i in r:

    print(i) #顯示glob()函數的結果

print('-' * 25) #這里是分割線

r = p.rglob('*')

for i in r:

    print(i)#顯示rglob()函數的結果

查看對應結果如下:

d:\11\11.txt

d:\11\r.mp3

d:\11\t.mp3

d:\11\tp1000

d:\11\文件夾

-------------------------

d:\11\11.txt

d:\11\r.mp3

d:\11\t.mp3

d:\11\tp1000

d:\11\文件夾

d:\11\文件夾\文檔.txt

________________END______________

『陸』 python怎麼用遞歸遍歷多層目錄樹

#coding=utf-8
search_id = '69d0'
search_list = [{'id':'0337', 'name':'de', 'parent_id':'None'},
{'id':'2ddf', 'name':'se', 'parent_id':'None'},
{'id':'3010', 'name':'12', 'parent_id':'69d0'},
{'id':'3119', 'name':'121', 'parent_id':'3010'},
{'id':'3229', 'name':'1211', 'parent_id':'3119'},
{'id':'3d37', 'name':'14', 'parent_id':'69d0'},
{'id':'58c8', 'name':'11', 'parent_id':'69d0'},
{'id':'63b9', 'name':'a','parent_id':'None'},
{'id':'954c', 'name':'n', 'parent_id':'63b9'},
{'id':'69d0', 'name':'1', 'parent_id':'954c'},
{'id':'d2f9', 'name':'13', 'parent_id':'69d0'},
{'id':'defb', 'name':'test', 'parent_id':'None'}]
search_ids = []
#例如如果search_id = '69d0' search_ids=[3010,3d37,58c8,d2f9,3119,3229]

def search_pid(pid,id_list,id_results):
for id in id_list:
if id['id'] not in id_results:
if id['parent_id'] in pid:
id_results.append(id['id'])
pid.append(id['id'])
search_pid(pid,id_list,id_results)

search_pid([search_id],search_list,search_ids)
print search_ids

熱點內容
玩火影筆記本要什麼配置 發布:2024-04-25 08:34:59 瀏覽:208
sql性能監視器 發布:2024-04-25 08:21:48 瀏覽:832
吃雞ak配置什麼最好 發布:2024-04-25 08:15:46 瀏覽:447
firefox緩存目錄 發布:2024-04-25 08:00:31 瀏覽:940
我的世界國服怎麼免費弄伺服器 發布:2024-04-25 08:00:16 瀏覽:540
javaapi源碼 發布:2024-04-25 07:51:15 瀏覽:606
怎麼在伺服器執行jmeter腳本 發布:2024-04-25 07:35:25 瀏覽:397
域名訪問https 發布:2024-04-25 07:16:56 瀏覽:414
javaie亂碼 發布:2024-04-25 07:07:15 瀏覽:602
php開發微信支付 發布:2024-04-25 06:57:38 瀏覽:317