如何在Python文档中使用windows文件路径__
我想在我的如何在Python文档中使用windows文件路径__,python,windows,filepath,docstring,Python,Windows,Filepath,Docstring,我想在我的\uuu doc\uu用法字符串中为我的用户提供一个示例。以下是与我的问题有关的守则的重要部分 # jmetadata.py ''' usage: jmetadata.py inDirPath outFilePath example: jmetadata.py "\\\\Hal\\hal free agent 1\\backups\\videos\\" out.txt ''' <...deleted code...> def forPyWinTests():
\uuu doc\uu
用法字符串中为我的用户提供一个示例。以下是与我的问题有关的守则的重要部分
# jmetadata.py
'''
usage: jmetadata.py inDirPath outFilePath
example: jmetadata.py "\\\\Hal\\hal free agent 1\\backups\\videos\\" out.txt
'''
<...deleted code...>
def forPyWinTests():
jmetadata("\\\\Hal\\hal free agent 1\\backups\\videos\\", "out.txt")
NUM_ARGS = 2
def main():
args = sys.argv[1:]
print args
if len(args) != NUM_ARGS or "-h" in args or "--help" in args:
print __doc__
sys.exit(2)
jmetadata(args[0], args[1])
if __name__ == '__main__':
main()
# print()
# forPyWinTests()
但是,当我将示例复制到命令行时,我希望程序能够运行。相反,我得到:
>jmetadata.py "\\Hal\hal free agent 1\backups\videos\" out.txt
['\\\\Hal\\hal free agent 1\\backups\\videos" out.txt']
usage: jmetadata.py inDirPath outFilePath
example: jmetadata.py "\\Hal\hal free agent 1\backups\videos\" out.txt
注意上面的第二行。这是由main()
中的print args
命令产生的。这意味着args列表只有1个元素,['\\\\Hal\\Hal free agent 1\\backups\\videos“out.txt']
。这对我来说没有意义
我通过编写一个windows.cmd文件做了更多的调查。下面是show_args.cmd:
rem show_args.cmd
echo %1
echo %2
以下是运行的结果:
>show_args.cmd "\\Hal\hal free agent 1\backups\videos\" out.txt
>rem show_args.cmd
>echo "\\Hal\hal free agent 1\backups\videos\"
"\\Hal\hal free agent 1\backups\videos\"
>echo out.txt
out.txt
窗户似乎把东西分开了。我被难住了。有人知道这里发生了什么吗
我希望有人能分享一些见解。提前谢谢。尝试删除尾随的反斜杠。更改此选项:
jmetadata.py "\\Hal\hal free agent 1\backups\videos\" out.txt
为此:
jmetadata.py "\\Hal\hal free agent 1\backups\videos" out.txt
在上面的测试运行中,Python看到的参数有:
['\\\\Hal\\hal free agent 1\\backups\\videos" out.txt']
后面的退格被解释为转义字符,因为它紧跟在一个
“
”前面,这会将您的参数转换为单个字符串(或者直到遇到一个未转义的”
)。您是否尝试通过python:python jmetadata.py“\\Hal\Hal free agent 1\backups\videos调用\“out.txt?谢谢你的回复,戈德曼。我就这么做了。它会导致相同的行为:>python jmetadata.py“\\Hal\Hal free agent 1\backups\videos\”out.txt['\\\\Hal\\Hal free agent 1\\backups\\videos“out.txt']用法:jmetadata.py inDirPath outFilePath示例:jmetadata.py”\\Hal\Hal free agent 1\backups\videos\“out.txt>
谢谢Ryan。塔尔成功了。以前我尝试过制作\uuuuu doc
示例:jmetadata.py“\Hal\\Hal free agent 1\\backups\\videos\\”out.txt。这会在末尾添加一个空格。这不起作用,因为我正在执行os.listdir(args[0])。它产生了:。。。对于os.listdir(inDirPath)中的文件名:WindowsError:[错误3]系统找不到指定的路径:'\\\\Hal\\Hal free agent 1\\backups\\videos\\/*.''谢谢您的帮助。爱与和平-乔
['\\\\Hal\\hal free agent 1\\backups\\videos" out.txt']