[英]EOL while scanning string literal in Python menu
您将无法运行该脚本,遗憾的是我不知道为什么。 这是关于 EOL 的,但我对 Python 不太感兴趣,所以我需要你的帮助,我尝试了不同的东西但没有奏效。 另外,我真正喜欢 phyton 的朋友尝试过但失败了。
这只是一个菜单代码,用于在我想检查我的计算机时运行多个防病毒软件
import sys, string, os, arcgisscripting
def menu():
print ("Welcome To S1MPL3 MENU, an simple made antivirus for open Wi-Fi and Computer Repair.\n 1. Easy File Check \n 2.Total Time Security \n 3.Suspicius Ip Check")
choice = input()
if choice == "1":
print("Checking Files ... (The process wont take long !")
os.chdir 'C:\Users\alexa\Desktop\Core_Files\Projects\S1mpl3 Antivirus\Check\Files\File_Check.vbs\
menu()
if choice == "2":
print("TTS Chosen!")
os.chdir 'C:\Users\alexa\Desktop\Projects\S1mpl3_Antivirus\Check\\Files\Ip_Check\'
menu()
if choice == "3":
print("Checking For Suspicius Ip in your Home Wi-Fi")
os.chdir 'C:\Users\alexa\Desktop\Core_Files\Projects\S1mpl3 Antivirus\Check\Files\Ip_Check\'
menu()
menu()
错误应该在选择 2 的 S1m 中
错误:扫描字符串文字时出现语法错误 EOL
您在路径中使用了反斜杠字符 '\\'。 虽然这在命令行上是可以的,但它(大部分)在源代码中是不正确的。 反斜杠字符用作转义字符以更改以下字符的含义。 在您的情况下,尾随撇号被转义,因此路径字符串不会关闭。
您可以使用像@RonaldAaronson 建议的原始字符串:
r'C:\Users\alexa\Desktop\Projects\S1mpl3_Antivirus\Check\Files\Ip_Check\'
或者像这样用双倍替换所有单反斜杠:
'C:\\Users\\alexa\\Desktop\\Projects\\S1mpl3_Antivirus\\Check\\Files\\Ip_Check\\'
许多 Windows 函数也可以使用 unixoid 路径分隔符“/”,而os.chdir()
也可以这样做:
os.chdir('C:/Users/alexa/Desktop/Projects/S1mpl3_Antivirus/Check/Files/Ip_Check')
库os
有os.sep
和os.altsep
是路径名分隔符。 使用这些来编写更好的可移植代码。 请阅读文档。 这总是一个好主意。
第二个观察:你需要用括号调用os.chdir()
。
您在行尾缺少单引号:
if choice == "1":
print("Checking Files ... (The process wont take long !")
os.chdir 'C:\Users\alexa\Desktop\Core_Files\Projects\S1mpl3 Antivirus\Check\Files\File_Check.vbs\ **<---here**
menu()
我在打开目录时遇到了类似的问题。 我使用了原始字符串和双反斜杠,它可以工作。 例子:
os.chdir(r"C:\\Users\\alexa\Desktop\\Core_Files\\Projects\\S1mpl3Antivirus\\Check\\Files\\")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.