⑴ python os模塊問題
因為Python是平台無關的,而獲取當前路徑Windows和Linux是不同的,所以Python的os模塊作為中間層,在Windows平台通過os導入nt模塊(Windows是nt架構)。
getcwd在nt中
⑵ 如何學習python的os模塊
一、os模塊概述
Python os模塊包含普遍的操作系統功能。如果你希望你的程序能夠與平台無關的話,這個模塊是尤為重要的。(一語中的)
二、常用方法
1、os.name
輸出字元串指示正在使用的平台。如果是window 則用'nt'表示,對於Linux/Unix用戶,它是'posix'。
2、os.getcwd()
函數得到當前工作目錄,即當前Python腳本工作的目錄路徑。
3、os.listdir()
返回指定目錄下的所有文件和目錄名。
>>> os.listdir(os.getcwd())
['Django', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'MySQL-python-wininst.log', 'NEWS.txt', 'PIL-wininst.log', 'python.exe', 'pythonw.exe', 'README.txt', 'RemoveMySQL-python.exe', 'RemovePIL.exe', 'Removesetuptools.exe', 'Scripts', 'setuptools-wininst.log', 'tcl', 'Tools', 'w9xpopen.exe']
>>>
4、os.remove()
刪除一個文件。
5、os.system()
運行shell命令。
>>> os.system('dir')
0
>>> os.system('cmd') #啟動dos
6、os.sep 可以取代操作系統特定的路徑分割符。
7、os.linesep字元串給出當前平台使用的行終止符
>>> os.linesep
'\r\n' #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
>>> os.sep
'\\' #Windows
>>>
8、os.path.split()
函數返回一個路徑的目錄名和文件名
>>> os.path.split('C:\\Python25\\abc.txt')
('C:\\Python25', 'abc.txt')
9、os.path.isfile()和os.path.isdir()函數分別檢驗給出的路徑是一個文件還是目錄。
>>> os.path.isdir(os.getcwd())
True
>>> os.path.isfile('a.txt')
False
10、os.path.exists()函數用來檢驗給出的路徑是否真地存在
>>> os.path.exists('C:\\Python25\\abc.txt')
False
>>> os.path.exists('C:\\Python25')
True
>>>
11、os.path.abspath(name):獲得絕對路徑
12、os.path.normpath(path):規范path字元串形式
13、os.path.getsize(name):獲得文件大小,如果name是目錄返回0L
14、os.path.splitext():分離文件名與擴展名
>>> os.path.splitext('a.txt')
('a', '.txt')
15、os.path.join(path,name):連接目錄與文件名或目錄
>>> os.path.join('c:\\Python','a.txt')
'c:\\Python\\a.txt'
>>> os.path.join('c:\\Python','f1')
'c:\\Python\\f1'
>>>
16、os.path.basename(path):返迴文件名
>>> os.path.basename('a.txt')
'a.txt'
>>> os.path.basename('c:\\Python\\a.txt')
'a.txt'
>>>
17、os.path.dirname(path):返迴文件路徑
>>> os.path.dirname('c:\\Python\\a.txt')
'c:\\Python'
⑶ 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可以查看當前模塊的所有屬性 及方法
⑷ python os模塊怎麼使用
對於這樣的模塊深入學習,可以查找python doc。
www.python.org/docs/
⑸ 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吧
⑹ python如何用os模塊確認文件在我的電腦里是否存在,我的代碼只能告訴我是否存在於桌面
那你就寫一個模塊來搜索文件,但是為什麼要重復造輪子呢,Linux下的find, whereis, locate都是很好用的工具,Py的執行速度可不太行。
⑺ 求Python中的os模塊的命令大全以及用法 ,求 詳細易懂!#謝謝!
官網手冊有詳細的文檔,不要指望別人會把這些也給翻譯了,好好啃官網的文檔最好。
⑻ python中os模塊主要是幹嘛的
OS模塊簡單的來說它是一個Python的系統編程的操作模塊,可以處理文件和目錄這些我們日常手動需要做的操作。
⑼ python函數里調用os模塊中的內容結果顯示未定義
你的問題很奇怪,我的都可以通過