⑴ 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模块中的内容结果显示未定义
你的问题很奇怪,我的都可以通过
