reclosedev
Имя с пробелами передается в кавычках, чтобы не писать \\ вместо \ можно использовать сырые строки (r“”)
file = r'“C:\Documents and Settings\limited\text.old”'
Но в данном случае правильнее использовать subprocess.call(), тогда кавычки не понадобятся.
#!/usr/bin/python3
from main import *
import subprocess
app=r'"C:\WINDOWS\notepad.exe"'
file=r'"C:\WINDOWS\WindowsUpdate.log"'
subprocess.call([app,file])
#os.startfile(file)
subprocess.call выдает
C:\Documents and Settings\limited>tst.py
Traceback (most recent call last):
File "C:\Python33\lib\subprocess.py", line 1090, in _execute_child
startupinfo)
OSError: [WinError 123] Синтаксическая ошибка в имени файла, имени папки или мет
ке тома
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Documents and Settings\limited\tst.py", line 11, in <module>
subprocess.call([app,file])
File "C:\Python33\lib\subprocess.py", line 521, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Python33\lib\subprocess.py", line 818, in __init__
restore_signals, start_new_session)
File "C:\Python33\lib\subprocess.py", line 1096, in _execute_child
raise WindowsError(*e.args)
OSError: [WinError 123] Синтаксическая ошибка в имени файла, имени папки или мет
ке тома
А os.startfile(file), как ни странно, работает (хотя теперь файл не видит функция exist)!