English 中文(简体)
登机
原标题:Entering Directories as Strings in python

I have a list of directories hard coded into my program as such:

import os
my_dirs = ["C:afoo"
          ,"C:foo"
          ,"C:cfoo"
          ,"C:	foo"
          ]

我后来想开展一些行动,例如os.path.isfile(my_dirs[3])。 但是,由于<条码>“在表格或片面上都很短,因此对我方言的描述正在变得很贴上。

我知道,解决这一问题的办法就是利用:

my_dirs = ["C:\a\foo"
          ,"C:\b\foo"
          ,"C:\c\foo"
          ,"C:\t\foo"
          ]

And another solution would be to use forward slashes.

但是,我能够把目录从探索者复制到我的沙尔法。 我是否可以告诉沙里夫不要将<条码>“变成我的问题的表格或其他解决办法?

最佳回答

Use forward slashes or raw strings: r C:afoo or C:/a/foo

实际上,使用前方冲突是更好的解决办法,因为正如“我们斯利”所述,你不可能有原始的扼杀力,以单方的反弹结束。 虽然os.path的功能将使用窗户上的斜坡,但组合起来不会造成任何问题——因此,这意味着在硬编码道路上使用斜坡,不注意功能中引入的斜坡。

Don t forget that hardcoded paths are a bad thing per se though. Especially if you use system folders (including "My Documents" and "AppData") you should rather use WinAPI functions to retrieve them no matter where they are actually located.

问题回答

我建议使用forward slashesdouble reslashes。 ThiefMaster所吞 的原始扼杀可成trick;例如,它不能用斜,结束;因此, c是not。 a 有效的原体。 见python docs :

r"" is not a valid string literal (even a raw string cannot end in an odd number of backslashes). Specifically, a raw string cannot end in a single backslash (since the backslash would escape the following quote character)





相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签