Posted on  Updated on 

python的os库的使用

参考资料

https://blog.csdn.net/m0_55697123/article/details/119464001

https://blog.csdn.net/wulishinian/article/details/106420532

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import os
import time
# print(os.system('C:\\Windows\\System32\\calc.exe'))
print(os.name) # linux 显示posix
print(os.environ) # 环境变量

# windows \ , linux /
# 常用系统相关变量,sep分隔符
print(os.sep)
print(os.pathsep)
print(os.linesep)




# 文件和目录操作

# os.mkdir("test") # 在当前路径下创建目录
# os.rmdir("test") # delete目录
# os.remove("文件名") #delete文件
print(os.getcwd()) # 打印当前目录



# os的子模块 os.path
file = os.getcwd()+"/main.py"
print(os.path.split(file)) # 分割文件名和路径
mkdir, filename = os.path.split(file)
print(filename)

# 判断绝对路径与相对路径
print(os.path.isabs(file)) # 是绝对,则返回TRUE

# 判断文件或目录是否存在
print(os.path.exists(file))

# 拿到目录或文件最后修改时间,开始创建时间
print(os.path.getatime(file)) # 显示时间戳
print(os.path.getctime(file)) #
print(os.path.getsize(file)) # 拿到文件大小,字节


# 执行命令
# os system popen 不推荐使用


执行结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

nt
environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\Windows\\AppData\\Roaming', 'COMMONPROGRAMFILES': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMPUTERNAME': 'DESKTOP-0R6DJK5', 'COMSPEC': 'C:\\Windows\\system32\\cmd.exe', 'DRIVERDATA': 'C:\\Windows\\System32\\Drivers\\DriverData', 'HOMEDRIVE': 'C:', 'HOMEPATH': '\\Users\\Windows', 'IDEA_INITIAL_DIRECTORY': 'C:\\Users\\Windows\\Desktop', 'LOCALAPPDATA': 'C:\\Users\\Windows\\AppData\\Local', 'LOGONSERVER': '\\\\DESKTOP-0R6DJK5', 'NUMBER_OF_PROCESSORS': '4', 'ONEDRIVE': 'C:\\Users\\Windows\\OneDrive', 'ONEDRIVECONSUMER': 'C:\\Users\\Windows\\OneDrive', 'OS': 'Windows_NT', 'PATH': 'C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\Program Files\\nodejs\\;C:\\Program Files\\Git\\cmd;C:\\Users\\Windows\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\;C:\\Users\\Windows\\AppData\\Local\\Programs\\Python\\Python311\\;C:\\Users\\Windows\\AppData\\Local\\Microsoft\\WindowsApps;;C:\\Users\\Windows\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\Windows\\AppData\\Roaming\\npm;D:\\pycharm\\PyCharm 2023.2.3\\bin;', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', 'PROCESSOR_ARCHITECTURE': 'AMD64', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 78 Stepping 3, GenuineIntel', 'PROCESSOR_LEVEL': '6', 'PROCESSOR_REVISION': '4e03', 'PROGRAMDATA': 'C:\\ProgramData', 'PROGRAMFILES': 'C:\\Program Files', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PSMODULEPATH': 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', 'PUBLIC': 'C:\\Users\\Public', 'PYCHARM': 'D:\\pycharm\\PyCharm 2023.2.3\\bin;', 'PYCHARM_DISPLAY_PORT': '63342', 'PYCHARM_HOSTED': '1', 'PYTHONIOENCODING': 'UTF-8', 'PYTHONPATH': 'D:\\opencv_study;D:/pycharm/PyCharm 2023.2.3/plugins/python/helpers/pycharm_matplotlib_backend;D:/pycharm/PyCharm 2023.2.3/plugins/python/helpers/pycharm_display', 'PYTHONUNBUFFERED': '1', 'SESSIONNAME': 'Console', 'SYSTEMDRIVE': 'C:', 'SYSTEMROOT': 'C:\\Windows', 'TEMP': 'C:\\Users\\Windows\\AppData\\Local\\Temp', 'TMP': 'C:\\Users\\Windows\\AppData\\Local\\Temp', 'USERDOMAIN': 'DESKTOP-0R6DJK5', 'USERDOMAIN_ROAMINGPROFILE': 'DESKTOP-0R6DJK5', 'USERNAME': 'Windows', 'USERPROFILE': 'C:\\Users\\Windows', 'WINDIR': 'C:\\Windows'})


\
;


D:\opencv_study
('D:\\opencv_study', 'main.py')
main.py
True
True
1697922899.9824593
1697807194.7697878
986

Process finished with exit code 0

python文件打开新的终端,并执行文件

linux 环境

在写Python程序的时候遇到需要打开一个新的终端(terminal)或者说命令行窗口进行监视的情况

1
2
3
4
5
import os
os.system("gnome-terminal -e 'ls'") # 窗口执行后关闭
os.system("gnome-terminal -e 'bash -c \"ls; exec bash\"'") # 窗口执行后不关闭

# 其中 'ls' 部分即为所需执行的内容。

Windows环境

1
2
3
4
import os
os.system("start powershell.exe cmd /k 'dir'")

# 其中 'dir' 部分即为所需执行的内容