Найти - Пользователи
Полная версия: Windows (XP): Синтаксическая ошибка в имени...
Начало » Python для новичков » Windows (XP): Синтаксическая ошибка в имени...
1 2
vanvanov
Почему не работает следующий код?
file="C:\\Documents and Settings\\limited\\text.old"
os.system("C:\\WINDOWS\\notepad.exe" +file)
Python сам видит файл, но винда ни в какую - синтаксическая ошибка в имени файла. Уже пытался пути и как в UNIX прописывать - “C:\Documents не найден”!
При этом os.system(“C:\\WINDOWS\\notepad.exe”) запускает блокнот.
sergeek
из за пробелов в Documents and Settings наверно это
vanvanov
sergeek
из за пробелов в Documents and Settings наверно это
А что с ними делать?
4kpt
vanvanov
А ничего, что Вы используете зарезервированное слово для названия переменой?
sergeek
vanvanov
А что с ними делать?
убрать
sergeek
4kpt
в 3-ке его убрали
4kpt
Зашибись :) А как Вы узнали, что это тройка?
vanvanov
4kpt
vanvanovА ничего, что Вы используете зарезервированное слово для названия переменой?
Какое? file? Изменил на my_file - безрезультатно.
vanvanov
sergeek
убрать
#!/usr/bin/python3
import os
# Проверить существование файла
def exist(file):
        if not os.path.exists(file):
                print("Файл %s не найден!" % file)
        else:
                print("Файл %s найден." % file)
               
file="C:\\WINDOWS\\WindowsUpdate.log"
exist(file)
os.system("C:\\WINDOWS\\notepad.exe" +file)
#C:\Documents and Settings\limited>tst.py
#Файл C:\WINDOWS\WindowsUpdate.log найден.
#Синтаксическая ошибка в имени файла, имени папки или метке тома.
reclosedev
Имя с пробелами передается в кавычках, чтобы не писать \\ вместо \ можно использовать сырые строки (r“”)
file = r'"C:\Documents and Settings\limited\text.old"'
Но в данном случае правильнее использовать subprocess.call(), тогда кавычки не понадобятся.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB