㈠ python 中怎麼獲取工作路徑
importos
#:os.path.join(BASE_DIR,...)
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
可以參考django的方式。注意,若獲取路徑的文件位於項目根目錄中,則需要剝掉一層os.path.dirname :
importos
#:os.path.join(BASE_DIR,...)
BASE_DIR=os.path.dirname(os.path.abspath(__file__))
㈡ 學Python入門應該先學什麼
零基礎情況下,想學一門語言。其實python非常適合初學者入門。相比較其他不少主流編程語言,有更好的可讀性,因此上手相對容易。那麼如何快速掌握python?
設定目標:做 Python 開發除了熟悉語言本身之外,還需要掌握很多相關聯的技能,好比打NBA,你不光要學如何投籃,還要練習力量、技戰術等一整套東西。所以,一個普通Python Web開發工程師需要掌握的技能包括至少一個Web框架,比如:Django、Flask、Tornado,做業務系統必須熟知一種資料庫,還需要對linux系統的基本操作和常用命令有所了解,因為以後你寫到程序基本上都會運行在Linux平台上。
開發工具:工欲善其事必先利其器,Python IDE層出不窮,推薦Pycharm 和Sublime兩個工具都是免費的,而且它們的學習成本非常低,網上找一篇教程看了基本就能上手,Vim、Emacs這樣的遠古神器還是放以後再去了解吧。
Python3:新手開始總糾結學 Python2 還是 Python3,這種糾結完全就是給自己徒增煩惱,因為它們是同一種語言,只有少部分地方語法不兼容,盡管目前大部分公司還在用Python2,但是Python3逐漸成為主流已是不爭事實,畢竟後者性能方面更佔有優勢。
學習框架:對於剛入門的人,最重要的是培養Ta的學習興趣和信心。有的會擔心自己的基礎知識都那麼薄弱,如何能學好框架呢?其實這個擔心倒是不必,大多數大型的框架都把功能封裝得很完整,定義了一套在自己的框架下做事的「規則」,學習框架更多的是學習這些「規則」,入門倒不需要很深的理論基礎。
㈢ 怎樣用python實現scp
scp 功能很強大,但需要人工輸入 password, 當然可以通過把 公鑰保存在遠程主機的 ~/.ssh 目錄中,而後就不用輸入password,但這需要配置.
用 sshpass 可能在命令輸入 password, 但 需要用 「sudo apt-get install sshpass」 安裝
如果不想用上面兩種方法,可以用 expect 編寫腳本可以幫助我們自動交互
雖然 Python 也提供 pexpect 模塊,但既然 expect 很簡單,為何不直接用 os.system() 去執行呢?
下面是我編寫的類,實現了遠程復制
[html] view plain
class RemoteShell:
def __init__(self, host, user, pwd):
self.host = host
self.user = user
self.pwd = pwd
def put(self, local_path, remote_path):
scp_put = '''
spawn scp %s %s@%s:%s
expect "(yes/no)?" {
send "yes\r"
expect "password:"
send "%s\r"
} "password:" {send "%s\r"}
expect eof
exit'''
os.system("echo '%s' > scp_put.cmd" % (scp_put % (os.path.expanser(local_path), self.user, self.host, remote_path, self.pwd, self.pwd)))
os.system('expect scp_put.cmd')
os.system('rm scp_put.cmd')
但發現每次文件都沒有復制完,我想看expect 究竟做了什麼事情,還好 expect 提供 -d 參數給出更多的信息。
最後發現是被復制文件太大,expect 超時退出了
在腳本前加入 「set timeout -1" 就OK了
[html] view plain
scp_put = '''
set timeout -1
spawn scp %s %s@%s:%s
expect "(yes/no)?" {
send "yes\r"
expect "password:"
send "%s\r"
} "password:" {send "%s\r"}
expect eof
exit'''
㈣ 怎樣用python讀取終端顯示的信息
簡單說一下,文件的詳細信息你可以從os.stat中獲取,具體要做成什麼樣子,自己格式化一下字元串就好了,這里獲取的是所有者名稱、創建時間、最後修改時間:
importos,sys,pwd
file=sys.argv[1]
stat=os.stat(file)
uid=stat.st_uid
printpwd.getpwuid(uid)[0],stat.st_ctime,stat.st_mtime
時間是unix時間戳,格式化成datetime或字元串很簡單,你自己處理一下就好
㈤ Python之OS模塊操作有哪些這18個高頻函數是重中之重,你會用
案例一:新建一個txt文件並向文件中寫入數據。
代碼與結果如上圖所示。
案例:os.rename('kitty1.txt',''kitty2.txt')
2.1 輸出結果:將kitty1文件改為kitty2
2.2 文件解析說明:文件重命名,將test1文件改為test2文件。
案例:os.remove('kitty2.txt')
3.1 輸出結果:kitty2.txt文件被刪除
3.2 解析說明:刪除文件。
案例:os.mkdir('kitty')
4.1 輸出結果:創建一個文件夾名字為kitty
4.2 解析說明:創建文件夾。
4.3 解析說明:list.pop()就直接從list中的最末尾處刪除一個元素。
案例:os.rmdir('test')
5.1 輸出結果:刪除一個文件夾
5.3 解析說明:刪除文件夾.
解析說明:可以取代操作系統特定的路徑分割符
案例一:print(os.getcwd())
輸出結果:D:PythonProjectPython編程基礎
解析說明:相當於linux下的pwd,獲取當前目錄。
案例一:os.chdir(os.getcwd()+os.sep+'kitty')
解析說明:進入到某個目錄下。
解析說明:相當於linux下的ls,顯示當前目錄下的文件。
解析說明:創建一個aa文件夾,再在裡面創建一個bb文件夾。
解析說明:刪除aa文件夾和aa文件夾中的bb文件夾。
解析說明:判斷是否是個文件。
解析說明:判斷是否是個文件夾。
解析說明:判斷文件是否存在。
解析說明:獲取文件大小。
解析說明:返迴文件的絕對路徑。
解析說明:獲取文件的文件名,注意參數需要傳入絕對路徑。
解析說明:獲取文件的所在目錄,注意參數需要傳入絕對路徑。
㈥ python--怎麼查看模塊OS里listdir()函數的源代碼,也就是怎麼定義istdir()的代碼
去 python 官網下載 Gzipped source tar ball, 解壓縮後, 你會發現 Lib/os.py 文件這行代碼
from posix import *
可是沒有文件叫 posix.py 啊, 到底在那 ? 其實 posix mole 是 builtin 的其中一分子,如下所示範:
>>> import sys
>>> print sys.builtin_mole_names
(*__builtin__*, *__main__*, *_ast*, *_codecs*, *_sre*, *_symtable*, *_warnings*, *_weakref*, *errno*, *exceptions*, *gc*, *imp*, *marshal*, *posix*, *pwd*, *signal*, *sys*, *thread*, *zipimport*)
>>>
所以要去 Moles 目錄查找 c 代碼, 你會看見 posixmole.c, 打開它看見這行代碼:
{"listdir", posix_listdir, METH_VARARGS, posix_listdir__doc__},
再尋找上面所得到的 posix_listdir method, 可以找到 listdir 源代碼:
static PyObject *
posix_listdir(PyObject *self, PyObject *args)
{
/* XXX Should redo this putting the (now four) versions of opendir
in separate files instead of having them all here... */
#if defined(MS_WINDOWS) && !defined(HAVE_OPENDIR)
PyObject *d, *v;
HANDLE hFindFile;
BOOL result;
.... 省略
來自puthon吧
㈦ Linux裡面import os作用是什麼
import os
print(os.path.abspath(".")) #當前目錄的絕對路徑
print(os.path.abspath(r"..")) #上級目錄的絕對路徑 print(os.path.abspath(r"D:\python_workshop\python6\revise\函數.py"))
運行結果
D:\python_workshop\python6\selenium_webdriver
D:\python_workshop\python6
D:\python_workshop\python6\revise\函數.py
其他的一些常見函數:
1、os.getcwd()函數
功能:獲取當前目錄,python 的工作目
import os
pwd = os.getcwd()
print (pwd)
2、os.name 函數
功能:獲取當前使用的操作系統(獲取信息不夠詳細)
其中 'nt' 是 windows,'posix' 是 linux 或者 unix
import os
name = os.name
if name == 'posix':
print ("this is Linux or Unix")
elif name == 'nt':
print ("this is windows")
else:
print ("this is other system")
3、os.remove()函數
功能:刪除指定文件
eg:刪除 file.txt 文件
import os
os.remove(』file.txt『)
4、os.removedirs()函數
功能:刪除指定目錄
eg:刪除 file目錄
import os
os.removedirs(『file』)
5、os.system()函數
功能:運行shell命令
eg:執行ls -a > 1.txt命令
import os
os.system(『ls -a > 1.txt』)
6、os.mkdir()函數
功能:創建一個新目錄
eg:創建一個 file 目錄
import os
os.mkdir(『file』)
7、os.chdir()函數
功能:改變當前路徑到指定路徑
eg:我現在從當前路徑到 filepath 所指定的路徑下
import os
filepath = '/home'
pwd = os.getcwd()
print (pwd)
os.chdir(filepath)
pwd = os.getcwd()
print (pwd)
8、os.listdir()函數
功能:返回指定目錄下的所有目錄和文件
eg:列出當前目錄下的所有文件和目錄
import os
pwd = os.getcwd()
name = os.listdir(pwd)
for filename in name:
print (filename)
㈧ 誰有Python語言程序設計pdf分享一下
《北京理工大學-Python語言程序設計》網路網盤免費資源下載
鏈接: https://pan..com/s/1qEl3dftOM21rn1mlc_Fv8Q
北京理工大學-Python語言程序設計|Python程序設計pdf文檔|mooc_rename_1002235009.cmd|9.3Python的Office編程Word編程.mp4|9.3Python的Office編程Powerpoint編程.mp4|9.3Python的Office編程Office編程.mp4|9.3Python的Office編程Excel編程.mp4|9.2Python的OS平台編程OS平台編程.mp4|9.1Python的庫編程和庫安裝Python庫縱覽.mp4|9.1Python的庫編程和庫安裝9.2Python庫的通用安裝方法.mp4|8.6 Turtle Art - Turtle Art66893.mp4|8.5 Turtle實例 - Turtle實例66893.mp4|8.4 圖形用戶介面實例 - 圖形用戶介面實例66893.mp4|8.3 Turtle庫的介紹 - Turtle庫的介紹66893.mp4|8.2 圖形庫的應用方法 - 圖形庫的應用66893.mp4