如何在续行字符后修复意外字符?

时间:2019-02-17 22:32:23

标签: python python-3.7

我试图列出Documents目录中的文件名,当我运行代码时,出现以下错误:“换行符后出现意外字符”

我在路径之前输入了“ r”,但仍然无法正常工作。

导入操作系统 def listig_files(目录名):     os.scandir(r“ C:\ Users \ migue \ Documents \”)         进入其中:
          如果不是,则entry.name.startswith('。')和entry.is_file():               打印(entry.name) 进行更正后,我得到以下结果:

runfile('C:/ Users / migue / Downloads / Python脚本/重命名列表文件.py',wdir ='C:/ Users / migue / Downloads / Python脚本')

3 个答案:

答案 0 :(得分:1)

引起问题的行是

def listig_files(C:\Users\migue\Documents):

在Python中,\是“行继续符”,意味着您可以使用它在多行中打断一条语句。但这必须是一行中的最后一个字符。

这就是为什么您收到的消息略有帮助的原因-您有行继续符\,后跟另一个字符。

函数定义应该在该位置包含参数 name ,然后可以在函数中使用它。

import os

def listing_files(path_name):
    with os.scandir("r", path_name)as: 
        for entry in it:
            if not entry.name.startswith('.') and entry.is_file():
                print(entry.name)

然后您可以使用来调用该函数

listing_files(r"C:\Users\migue\Documents") # raw string or escapes for \ needed

在将路径"..."传递给函数时,请注意该路径。

答案 1 :(得分:0)

import os
rome=r'C:\Users\Migue\Documents'
def listing_files(r,rome):
    with os.scandir(r'C:\Users\Migue\Documents') as rome:
        for entry in rome:
            if not entry.name.startswith('.') and entry.is_file():
                print(entry.name)
listing_files('r', rome)

答案 2 :(得分:-1)

更改路径:

  

os.scandir(r“ C:\ Users \ migue \ Documents”)